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 |
|
|
|
|
|
|
|
|
|
|
|
|