Purely functional data structures
Purely functional data structures
QuickCheck: a lightweight tool for random testing of Haskell programs
ICFP '00 Proceedings of the fifth ACM SIGPLAN international conference on Functional programming
Contracts for higher-order functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Journal of Functional Programming
Even higher-order functions for parsing or Why would anyone ever want to use a sixth-order function?
Journal of Functional Programming
A pattern logic for prompt lazy assertions in Haskell
IFL'06 Proceedings of the 18th international conference on Implementation and application of functional languages
Typed contracts for functional programming
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
IFL'03 Proceedings of the 15th international conference on Implementation of Functional Languages
Lazy Contract Checking for Immutable Data Structures
Implementation and Application of Functional Languages
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
A semantics for lazy assertions
Proceedings of the 20th ACM SIGPLAN workshop on Partial evaluation and program manipulation
Lazy and enforceable assertions for functional logic programs
WFLP'10 Proceedings of the 19th international conference on Functional and constraint logic programming
The interaction of contracts and laziness
PEPM '12 Proceedings of the ACM SIGPLAN 2012 workshop on Partial evaluation and program manipulation
Practical typed lazy contracts
Proceedings of the 17th ACM SIGPLAN international conference on Functional programming
Hi-index | 0.00 |
Assertions test expected properties of run-time values without disrupting the normal computation of a program. We present a library for enriching Haskell programs with assertions. Expected properties can be specified in a parser-combinator like language. The assertions are lazy: they do not force evaluation but only examine what is evaluated by the program. They are also prompt: assertion failure is reported as early as possible. The implementation is based on lazy observations and continuation-based coroutines.