Safe Haskell | None |
---|---|

Language | Haskell2010 |

# Documentation

class Show a => HasInvariant a where Source #

Functor Checked Source # | |

Foldable Checked Source # | |

Traversable Checked Source # | |

Eq1 Checked Source # | |

Show1 Checked Source # | |

Eq a => Eq (Checked a) Source # | |

Ord a => Ord (Checked a) Source # | |

Show a => Show (Checked a) Source # | |

(HasInvariant a, Arbitrary a) => Arbitrary (Checked a) Source # | |

NFData a => NFData (Checked a) Source # | |

Controls (Checked a) a Source # | |

HasInvariant a => IsChecked (Checked a) a Source # | |

Controls (Compose * * Checked f a) (f a) Source # | |

HasInvariant (f a) => IsChecked (Compose * * Checked f a) (f a) Source # | |

class HasInvariant b => IsChecked a b | a -> b where Source #

trading :: (Functor f, Functor f') => Iso (Compose f (Compose g h) x) (Compose f' (Compose g' h') x') (Compose f g (h x)) (Compose f' g' (h' x')) Source #

holds :: IsAssertion prop => prop -> Bool Source #

invariantMessage :: IsAssertion a => a -> String Source #

assertFalse' :: Pre => String -> a Source #

class IsAssertion a where Source #

checkAssert :: (IsAssertion a, Pre) => a -> String -> b -> b Source #

checkAssertM :: (IsAssertion a, Monad m, Pre) => a -> String -> m () Source #

isProperSubmapOf' :: (Eq k, Eq a, Ord k, Show k, Show a) => Map k a -> Map k a -> Invariant Source #