This library defines some auxiliaries to check contracts based on specifications or pre- and postconditions provided in a Curry module. The interface might probably change with the further development of the contract implementation.
Author: Michael Hanus
Version: November 2023
withContract1
:: (Show a, Show b) => String -> (a -> Bool) -> (a -> b -> Bool) -> (b -> b) -> (a -> b) -> a -> b
|
withContract1ND
:: (Show a, Show b) => String -> (a -> Values Bool) -> (a -> b -> Values Bool) -> (b -> b) -> (a -> b) -> a -> b
|
withContract2
:: (Show a, Show b, Show c) => String -> (a -> b -> Bool) -> (a -> b -> c -> Bool) -> (c -> c) -> (a -> b -> c) -> a -> b -> c
|
withContract2ND
:: (Show a, Show b, Show c) => String -> (a -> b -> Values Bool) -> (a -> b -> c -> Values Bool) -> (c -> c) -> (a -> b -> c) -> a -> b -> c
|
withPreContract1
:: Show a => String -> (a -> Bool) -> (a -> b) -> a -> b
|
withPreContract2
:: (Show a, Show b) => String -> (a -> b -> Bool) -> (a -> b -> c) -> a -> b -> c
|
withPostContract0
:: Show a => String -> (a -> Bool) -> (a -> a) -> a -> a
|
withPostContract0ND
:: Show a => String -> (a -> Values Bool) -> (a -> a) -> a -> a
|
withPostContract1
:: (Show a, Show b) => String -> (a -> b -> Bool) -> (b -> b) -> (a -> b) -> a -> b
|
withPostContract1ND
:: (Show a, Show b) => String -> (a -> b -> Values Bool) -> (b -> b) -> (a -> b) -> a -> b
|
withPostContract2
:: (Show a, Show b, Show c) => String -> (a -> b -> c -> Bool) -> (c -> c) -> (a -> b -> c) -> a -> b -> c
|
withPostContract2ND
:: (Show a, Show b, Show c) => String -> (a -> b -> c -> Values Bool) -> (c -> c) -> (a -> b -> c) -> a -> b -> c
|
|
|
|
|
|
|
|
|
|
|
|
|