This module defines some types used by the EasyCheck libraries.
Author: Michael Hanus
Version: January 2019
Abstract type to represent properties involving IO actions.
PropIO :: (Bool -> String -> IO (Maybe String)) -> PropIO
Abstract type to represent standard properties to be checked. Basically, it contains all tests to be executed to check the property.
Prop :: [Test] -> Prop
Abstract type to represent a single test for a property to be checked. A test consists of the result computed for this test, the arguments used for this test, and the labels possibly assigned to this test by annotating properties.
Test :: Result -> [String] -> [String] -> Test
Data type to represent the result of checking a property.
Undef :: Result
Ok :: Result
Falsified :: [String] -> Result
Ambigious :: [Bool] -> [String] -> Result