The Contract package

[Tags: bsd3, library]

Contracts describe properties of expressions (esp. functions) that are checked at run-time. For example, a contract states that an expression is a natural number, a list has at least one element or a function requires a natural number and a non-empty list of natural numbers as arguments and will produce a natural number as result. Thus these properties are both documented and enforced. Contracts are more expressive than static types. If a contract is violated, then an informative exception is raised. See homepage or Olaf Chitil: Practical Typed Lazy Contracts, ICFP 2012, ACM.


Change logNone available
Dependenciesbase (>=4.5 && <5), template-haskell (>=2.7) [details]
AuthorOlaf Chitil
Home page
UploadedThu Jul 19 09:36:20 UTC 2012 by OlafChitil
Downloads413 total (4 in last 30 days)
0 []
StatusDocs uploaded by user
Build status unknown [no reports yet]




Maintainers' corner

For package maintainers and hackage trustees