contravariant-1.5.5: Contravariant functors
Copyright(C) 2007-2015 Edward Kmett
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
PortabilityConstraintKinds
Safe HaskellSafe
LanguageHaskell2010

Data.Functor.Contravariant.Generic

Description

Synopsis

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 :: 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 Source #

Instances

Instances details
(Generic a, GG (Rep a), GDeciding q (Rep' a)) => Deciding q a Source #
Instance details

Defined in Data.Functor.Contravariant.Generic

Methods

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

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

Instances

Instances details
(Generic1 t, GDeciding1 q (Rep1' t), GG (Rep1 t)) => Deciding1 q t Source #
Instance details

Defined in Data.Functor.Contravariant.Generic

Methods

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

AltStyle によって変換されたページ (->オリジナル) /