This module contains some operations to handle properties in a Curry program.
Author: Michael Hanus
Version: April 2019
isProperty
:: CFuncDecl -> Bool
Check whether a function definition is a property, i.e., if the result type is Prop
or PropIO .
|
isPropType
:: CTypeExpr -> Bool
Is the type expression the type Test.EasyCheck.Prop? |
isPropIOType
:: CTypeExpr -> Bool
Is the type expression the type Test.EasyCheck.PropIO? |
isEquivProperty
:: CFuncDecl -> Maybe (CExpr,CExpr)
Check whether a function definition is an equivalence property, i.e., has the form test = f1 <=> f2 .
|
propModule
:: String
Name of the Test.Prop module (the clone of the EasyCheck module). |
propTypesModule
:: String
Name of the Test.Prop.Types module (containing property type definitions). |
easyCheckModule
:: String
Name of the EasyCheck module. |
easyCheckExecModule
:: String
Name of the EasyCheckExec module. |
Check whether a function definition is a property,
i.e., if the result type is |
Is the type expression the type Test.EasyCheck.Prop? |
Is the type expression the type Test.EasyCheck.PropIO? |
Check whether a function definition is an equivalence property, i.e.,
has the form |
Name of the Test.Prop module (the clone of the EasyCheck module).
|
Name of the Test.Prop.Types module (containing property type definitions).
|
Name of the EasyCheck module.
|
Name of the EasyCheckExec module.
|