HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulecontravariant-1.5.5Haskell2010

Data.Functor.Contravariant.Generic

  • 2 classes
classclass (Generic a, GDeciding q (Rep' a)) => Deciding (q :: Type -> Constraint) a where
#

This provides machinery for deconstructing an arbitrary Generic instance using a Decidable Contravariant functor.

Examples:

gcompare :: Deciding Ord a => a -> a -> Ordering
gcompare = getComparison $ deciding (Proxy :: Proxy Ord) (Comparison compare)
geq :: Deciding Eq a => a -> a -> Bool
geq = getEquivalence $ deciding (Proxy :: Proxy Eq) (Equivalence (==))

Methods

Instances1Deciding
  • (Generic a, GG (Rep a), GDeciding q (Rep' a)) => Deciding q aDefined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic
classclass (Generic1 t, GDeciding1 q (Rep1' t)) => Deciding1 (q :: Type -> Constraint) (t :: Type -> Type) where
#

This provides machinery for deconstructing an arbitrary Generic1 instance using a Decidable Contravariant functor.

Examples:

gcompare1 :: Deciding1 Ord f => (a -> a -> Ordering) -> f a -> f a -> Ordering
gcompare1 f = getComparison $ deciding1 (Proxy :: Proxy Ord) (Comparison compare) (Comparison f)
geq1 :: Deciding1 Eq f => (a -> a -> Bool) -> f a -> f a -> Bool
geq1 f = getEquivalence $ deciding1 (Proxy :: Proxy Eq) (Equivalence (==)) (Equivalence f)

Methods

Instances1Deciding1
  • (Generic1 t, GDeciding1 q (Rep1' t), GG (Rep1 t)) => Deciding1 q tDefined in contravariant-1.5.5 · Data.Functor.Contravariant.Generic