knit-0.3.0.0: Ties the knot on data structures that reference each other by unique keys.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Generics.Eot.Datatype

Synopsis

Documentation

data Datatype Source #

Type for meta information about ADTs.

Constructors

Datatype 

Fields

Instances

Instances details
Eq Datatype Source # 
Instance details

Defined in Generics.Eot.Datatype

Show Datatype Source # 
Instance details

Defined in Generics.Eot.Datatype

data Constructor Source #

Constructors

Constructor 

Instances

Instances details
Eq Constructor Source # 
Instance details

Defined in Generics.Eot.Datatype

Show Constructor 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

Instances details
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

Instances details
(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

Instances details
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

Instances details
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 #