Remember Me
Or use your Academic/Social account:


Or use your Academic/Social account:


You have just completed your registration at OpenAire.

Before you can login to the site, you will need to activate your account. An e-mail will be sent to you with the proper instructions.


Please note that this site is currently undergoing Beta testing.
Any new content you create is not guaranteed to be present to the final version of the site upon release.

Thank you for your patience,
OpenAire Dev Team.

Close This Message


Verify Password:
Verify E-mail:
*All Fields Are Required.
Please Verify You Are Human:
fbtwitterlinkedinvimeoflicker grey 14rssslideshare1
Chitil, Olaf; McNeill, Dan; Runciman, Colin (2004)
Publisher: Springer
Languages: English
Types: Unknown
Subjects: QA76

Classified by OpenAIRE into

Assertions test expected properties of run-time values without disrupting 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 explore the subtle semantics of lazy assertions and describe sequential and concurrent variants of a method for checking lazy assertions. All variants are implemented in Haskell.
  • The results below are discovered through our pilot algorithms. Let us know how we are doing!

    • 1. K. Claessen and R. J. M. Hughes. QuickCheck: a lightweight tool for random testing of Haskell programs. In Proc. 5th Intl. ACM Conference on Functional Programming, pages 268-279. ACM Press, 2000.
    • 2. K. Claessen, C. Runciman, O. Chitil, J. Hughes, and M. Wallace. Testing and tracing lazy functional programs using QuickCheck and Hat. In Lecture notes of the 4th Intl. Summer School in Advanced Functional Programming. 40pp, to appear in Springer LNCS, 2002.
    • 3. S. L. Peyton Jones (Ed.). Haskell 98: a non-strict, purely functional language. Journal of Functional Programming, 13(1):special issue, 2003.
    • 4. A. Gill. Debugging Haskell by observing intermediate datastructures. Electronic Notes in Theoretical Computer Science, 41(1), 2001. (Proc. 2000 ACM SIGPLAN Haskell Workshop).
    • 5. D. McNeill. Concurrent data-driven assertions in a lazy functional language. Technical report, BSc Project Dissertation, Department of Computer Science, University of York, 2003.
    • 6. B. M¨oller. Applicative assertions. In J. L. A. van de Snepscheut, editor, Mathematics of Program Construction, pages 348-362. Springer LNCS 375, 1989.
    • 7. S. L. Peyton Jones. Tackling the awkward squad: monadic input/output, concurrency, exceptions and foreign-language calls in haskell. In C. A. R. Hoare, M. Broy, and R. Steinbruggen, editors, Engineering theories of software construction, pages 47-96. IOS Press, 2001.
    • 8. Simon L. Peyton Jones, Simon Marlow, and Conal Elliott. Stretching the storage manager: Weak pointers and stable names in haskell. In Implementation of Functional Languages, 11th International Workshop, IFL'99, volume 1868 of LNCS 1868, pages 37-58, 2000.
    • 9. M. Wallace, O. Chitil, T. Brehm, and C. Runciman. Multiple-view tracing for Haskell: a new Hat. In ACM Workshop on Haskell, 2001.
    • instance Assert a => Assert [a] where demand [] = demand0 [] demand (x:xs) = demand2 (:) x xs instance (Assert a,Assert b) => Assert (a,b) where demand (x,y) = demand2 (,) x y instance Assert Char where demand c = c 'seq' demand0 c
  • No related research data.
  • No similar publications.

Share - Bookmark

Download from

Cite this article