contravariant-1.5: Contravariant functors

Data.Functor.Contravariant.Generic

Description

Synopsis

# Documentation

class (Generic a, GDeciding q (Rep a)) => Deciding q 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

deciding :: Decidable f => p q -> (forall b. q b => f b) -> f a #

Instances
 (Generic a, GDeciding q (Rep a)) => Deciding q a # Instance detailsDefined in Data.Functor.Contravariant.Generic Methodsdeciding :: Decidable f => p q -> (forall b. q b => f b) -> f a #

class (Generic1 t, GDeciding1 q (Rep1 t)) => Deciding1 q t 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

deciding1 :: Decidable f => p q -> (forall b. q b => f b) -> f a -> f (t a) #

Instances
 (Generic1 t, GDeciding1 q (Rep1 t)) => Deciding1 q t # Instance detailsDefined in Data.Functor.Contravariant.Generic Methodsdeciding1 :: Decidable f => p q -> (forall b. q b => f b) -> f a -> f (t a) #