School of Computing

Lazy assertions

Olaf Chitil, Dan McNeill, and Colin Runciman

In Draft Proceedings of the 15th International Workshop on Implementation of Functional Languages, IFL 2003, pages 182-196, Edinburgh, Scotland, September 2003.

Abstract

Assertions test expected properties of run-time values without dissrupting the normal working of a program. So in a lazy functional language assertions should be lazy - not forcing evaluation, but only examining what is evaluated by other parts of the program. We describe two different ways of embedding lazy assertions in Haskell, one sequential and the other concurrent. Examples illustrate the relative merits of the two approaches. We also show that timely failure of lazy assertions may require assertions in assertions!

Download publication 136 kbytes (PDF)

Bibtex Record

@inproceedings{1808,
author = {Olaf Chitil and Dan McNeill and Colin Runciman},
title = {Lazy Assertions},
month = {September},
year = {2003},
pages = {182-196},
keywords = {determinacy analysis, Craig interpolants},
note = {},
doi = {},
url = {http://www.cs.kent.ac.uk/pubs/2003/1808},
    publication_type = {inproceedings},
    submission_id = {15547_1077219780},
    booktitle = {Draft Proceedings of the 15th International Workshop on Implementation of Functional Languages, IFL 2003},
    address = {Edinburgh, Scotland},
    refereed = {no},
}

School of Computing, University of Kent, Canterbury, Kent, CT2 7NF

Enquiries: +44 (0)1227 824180 or contact us.

Last Updated: 21/03/2014