knit-0.2.0.0: Ties the knot on data structures that reference each other by unique keys.

Safe HaskellSafe
LanguageHaskell2010

Generics.Eot.Datatype

Contents

Synopsis

Documentation

data Datatype Source #

Type for meta information about ADTs.

Constructors

Datatype 

Fields

Instances
Eq Datatype Source # 
Instance details

Defined in Generics.Eot.Datatype

Show Datatype Source # 
Instance details

Defined in Generics.Eot.Datatype

data Fields Source #

Type that represents meta information about fields of one constructor.

Constructors

Selectors [String]

Record constructor, containing the list of the selector names.

NoSelectors Int

Constructor with fields, but without selector names. The argument gives the number of fields.

NoFields

Constructor without fields.

Instances
Eq Fields Source # 
Instance details

Defined in Generics.Eot.Datatype

Methods

(==) :: Fields -> Fields -> Bool #

(/=) :: Fields -> Fields -> Bool #

Show Fields Source # 
Instance details

Defined in Generics.Eot.Datatype

datatype

class GenericDatatype (a :: * -> *) where Source #

Instances
(Datatype c, GenericConstructors f) => GenericDatatype (D1 c f) Source # 
Instance details

Defined in Generics.Eot.Datatype

Methods

datatypeC :: Proxy (D1 c f) -> Datatype Source #

constructors

class GenericConstructors (a :: * -> *) where Source #

Instances
GenericConstructors (V1 :: Type -> Type) Source # 
Instance details

Defined in Generics.Eot.Datatype

(GenericConstructors a, GenericConstructors b) => GenericConstructors (a :+: b) Source # 
Instance details

Defined in Generics.Eot.Datatype

(Constructor c, GenericFields f) => GenericConstructors (C1 c f) Source # 
Instance details

Defined in Generics.Eot.Datatype

fields

class GenericFields (a :: * -> *) where Source #

Methods

getFieldsC :: Proxy a -> [Maybe String] Source #

Instances
GenericFields (U1 :: Type -> Type) Source # 
Instance details

Defined in Generics.Eot.Datatype

(GenericFields a, GenericFields b) => GenericFields (a :*: b) Source # 
Instance details

Defined in Generics.Eot.Datatype

Methods

getFieldsC :: Proxy (a :*: b) -> [Maybe String] Source #

Selector c => GenericFields (S1 c (Rec0 f)) Source # 
Instance details

Defined in Generics.Eot.Datatype

Methods

getFieldsC :: Proxy (S1 c (Rec0 f)) -> [Maybe String] Source #

getField :: forall c f. Selector c => Proxy (S1 c (Rec0 f)) -> Maybe String Source #