generic-data-functions-0.5.1: Familiar functions lifted to generic data types
Safe HaskellSafe-Inferred
LanguageGHC2021

Generic.Data.Function.Contra.Constructor

Synopsis

Documentation

class GenericContra tag where Source #

TODO

The type variable is uninstantiated, used purely as a tag. Good types include the type class used inside (providing you define the type class/it's not an orphan instance), or a custom void data type. See the binrep library on Hackage for an example.

Associated Types

type GenericContraF tag :: Type -> Type Source #

type GenericContraC tag a :: Constraint Source #

Instances

Instances details
GenericContra (EmptyRec0 f :: Type) Source #

over types where all fields map to mempty

Instance details

Defined in Generic.Data.Function.Contra.Constructor

Associated Types

type GenericContraF (EmptyRec0 f) :: Type -> Type Source #

type GenericContraC (EmptyRec0 f) a Source #

GenericContra (NoRec0 f :: Type) Source #

over types with no fields in any constructor

Instance details

Defined in Generic.Data.Function.Contra.Constructor

Associated Types

type GenericContraF (NoRec0 f) :: Type -> Type Source #

type GenericContraC (NoRec0 f) a Source #

class GContraC tag gf where Source #

Methods

gContraC :: GenericContraF tag (gf p) Source #

Instances

Instances details
Divisible (GenericContraF tag) => GContraC (tag :: k1) (U1 :: k2 -> Type) Source # 
Instance details

Defined in Generic.Data.Function.Contra.Constructor

Methods

gContraC :: forall (p :: k10). GenericContraF tag (U1 p) Source #

(Divisible (GenericContraF tag), GContraC tag l, GContraC tag r) => GContraC (tag :: k1) (l :*: r :: k2 -> Type) Source # 
Instance details

Defined in Generic.Data.Function.Contra.Constructor

Methods

gContraC :: forall (p :: k10). GenericContraF tag ((l :*: r) p) Source #

(Contravariant (GenericContraF tag), GenericContra tag, GenericContraC tag a) => GContraC (tag :: k1) (S1 c (Rec0 a) :: k2 -> Type) Source # 
Instance details

Defined in Generic.Data.Function.Contra.Constructor

Methods

gContraC :: forall (p :: k10). GenericContraF tag (S1 c (Rec0 a) p) Source #