Copyright | (c) David Sankel 2008 |
---|---|

License | BSD3 |

Maintainer | david@sankelsoftware.com |

Stability | experimental |

Safe Haskell | None |

Language | Haskell98 |

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) -> Property Source #

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) -> Property Source #

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

delay :: RealFrac t => t -> a -> a Source #

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

delayForever :: a Source #

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.