Implementation and Application of Functional Languages

Volume 4449 of the series Lecture Notes in Computer Science pp 126-144

A Pattern Logic for Prompt Lazy Assertions in Haskell

  • Olaf ChitilAffiliated withUniversity of Kent
  • , Frank HuchAffiliated withCAU Kiel

* Final gross prices may vary according to local VAT.

Get Access


Assertions test expected properties of run-time values without disrupting the normal computation of a program. Here we present a library for enriching programs in the lazy language Haskell with assertions. Expected properties are written in an expressive pattern logic that combines pattern matching with logical operations and predicates. The presented assertions are lazy: they do not force evaluation but only examine what is evaluated by other parts of the program. They are also prompt: assertion failure is reported as early as possible, before a faulty value is used by the main computation.