Stability | experimental |
---|---|

Maintainer | david@sankelsoftware.com |

Later. Allows for testing of functions that depend on the order of evaluation.

TODO: move this functionality to the testing package for Unamb.

- isAssocTimes :: (EqProp a, Arbitrary a, Show a) => Double -> (a -> a -> a) -> Property
- isCommutTimes :: (EqProp b, Arbitrary a, Show a) => Double -> (a -> a -> b) -> Property
- delay :: RealFrac t => t -> a -> a
- delayForever :: a

# Documentation

isAssocTimes :: (EqProp a, Arbitrary a, Show a) => Double -> (a -> a -> a) -> PropertySource

Is the given function associative when restricted to the same value but possibly different times?

isCommutTimes :: (EqProp b, Arbitrary a, Show a) => Double -> (a -> a -> b) -> PropertySource

Is the given function commutative when restricted to the same value but possibly different times?

delay :: RealFrac t => t -> a -> aSource

Delay a value's availability by the given duration in seconds. Note that the delay happens only on the first evaluation.

delayForever :: aSource

A value that is never available. Rerun of `hang`

from unamb, but
replicated to avoid mutual dependency.

TODO: Remove when this module is moved into the unamb-test package.