Contract.Names
Contract.Usage
Test.Contract
This package contains libraries to deal with contracts as described in this paper:
Sergio Antoy, Michael Hanus: Contracts and Specifications for Functional Logic Programming, Proc. of the 14th International Symposium on Practical Aspects of Declarative Languages (PADL 2012), Springer LNCS 7149, pp. 33-47, 2012
Contract.Names
contains some operations to define and manipulate the names of contracts (i.e., specification and pre/postconditions) in a Curry program.Contract.Usage
contains some operations to check the correct usage of contracts (i.e., the occurrences and types of specification and pre/postconditions) in a FlatCurry program.Test.Contract
defines some auxiliaries to check contracts based on specifications or pre- and postconditions provided in a Curry module. It is used by the Curry preprocessor to translate contracts into dynamic assertions.