| Copyright | (C) 2007-2015 Edward Kmett |
|---|---|
| License | BSD-style (see the file LICENSE) |
| Maintainer | Edward Kmett <ekmett@gmail.com> |
| Stability | experimental |
| Portability | ConstraintKinds |
| Safe Haskell | Safe-Inferred |
| Language | Haskell98 |
Data.Functor.Contravariant.Generic
Description
Documentation
class (Generic a, GDeciding q (Rep a)) => Deciding q a where Source
This provides machinery for deconstructing an arbitrary Generic instance using a Decidable Contravariant functor.
Examples:
gcompare ::DecidingOrda => a -> a ->Orderinggcompare =getComparison$deciding(Proxy :: ProxyOrd) (Comparisoncompare)
geq ::DecidingEqa => a -> a ->Boolgeq =getEquivalence$deciding(Proxy :: ProxyEq) (Equivalence(==))
class (Generic1 t, GDeciding1 q (Rep1 t)) => Deciding1 q t where Source
This provides machinery for deconstructing an arbitrary Generic1 instance using a Decidable Contravariant functor.
Examples:
gcompare1 ::Deciding1Ordf => (a -> a ->Ordering) -> f a -> f a ->Orderinggcompare1 f =getComparison$deciding1(Proxy :: ProxyOrd) (Comparisoncompare) (Comparisonf)
geq1 ::Deciding1Eqf => (a -> a ->Bool) -> f a -> f a ->Boolgeq1 f =getEquivalence$deciding1(Proxy :: ProxyEq) (Equivalence(==)) (Equivalencef)