Skip to main content

A semantics for lazy assertions

Chitil, Olaf (2011) A semantics for lazy assertions. In: Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation. Partial Evaluation and Program Manipulation . ACM, New York, USA, pp. 141-150. ISBN 978-1-4503-0485-6. (doi:10.1145/1929501.1929527) (KAR id:30775)

PDF Author's Accepted Manuscript
Language: English
Download (203kB) Preview
[thumbnail of assertionSemantics.pdf]
This file may not be suitable for users of assistive technology.
Request an accessible format
Official URL:


Lazy functional programming languages need lazy assertions to ensure that assertions preserve the meaning of programs. Examples in this paper demonstrate that previously proposed lazy assertions nonetheless break basic semantic equivalences, because they include a non-deterministic disjunction combinator. The objective of this paper is to determine ''correct'' definitions for lazy assertions. The starting point is our formalisation of basic properties such as laziness, taking them as axioms of our design space. We develop the first denotational semantics for lazy assertions; assertions denote subdomains. We define a weak disjunction combinator and together with a conjunction combinator assertions form a bounded distributive lattice. From the established laws we derive an efficient prototype implementation of lazy assertions for Haskell as a library.

Item Type: Book section
DOI/Identification number: 10.1145/1929501.1929527
Uncontrolled keywords: languages, reliability, theory
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming,
Divisions: Divisions > Division of Computing, Engineering and Mathematical Sciences > School of Computing
Depositing User: Olaf Chitil
Date Deposited: 21 Sep 2012 09:49 UTC
Last Modified: 16 Nov 2021 10:08 UTC
Resource URI: (The current URI for this page, for reference purposes)
Chitil, Olaf:
  • Depositors only (login required):


Downloads per month over past year