rel8-internal
Safe HaskellNone
LanguageHaskell2010

Rel8.Internal.Generic.Record

Documentation

newtype Record a Source #

Constructors

Record 

Fields

Instances

Instances details
(Generic a, GRecordable (Rep a)) => Generic (Record a) Source # 
Instance details

Defined in Rel8.Internal.Generic.Record

Associated Types

type Rep (Record a) 
Instance details

Defined in Rel8.Internal.Generic.Record

type Rep (Record a) = GRecord (Rep a)

Methods

from :: Record a -> Rep (Record a) x #

to :: Rep (Record a) x -> Record a #

type Rep (Record a) Source # 
Instance details

Defined in Rel8.Internal.Generic.Record

type Rep (Record a) = GRecord (Rep a)

class GRecordable (rep :: Type -> Type) Source #

Minimal complete definition

grecord, gunrecord

Instances

Instances details
GRecord rep ~ rep => GRecordable rep Source # 
Instance details

Defined in Rel8.Internal.Generic.Record

Methods

grecord :: rep x -> GRecord rep x Source #

gunrecord :: GRecord rep x -> rep x Source #

(GRecordable l, GRecordable r) => GRecordable (l :+: r) Source # 
Instance details

Defined in Rel8.Internal.Generic.Record

Methods

grecord :: (l :+: r) x -> GRecord (l :+: r) x Source #

gunrecord :: GRecord (l :+: r) x -> (l :+: r) x Source #

Countable 0 rep => GRecordable (M1 C ('MetaCons name fixity 'False) rep) Source # 
Instance details

Defined in Rel8.Internal.Generic.Record

Methods

grecord :: M1 C ('MetaCons name fixity 'False) rep x -> GRecord (M1 C ('MetaCons name fixity 'False) rep) x Source #

gunrecord :: GRecord (M1 C ('MetaCons name fixity 'False) rep) x -> M1 C ('MetaCons name fixity 'False) rep x Source #

GRecordable rep => GRecordable (M1 D meta rep) Source # 
Instance details

Defined in Rel8.Internal.Generic.Record

Methods

grecord :: M1 D meta rep x -> GRecord (M1 D meta rep) x Source #

gunrecord :: GRecord (M1 D meta rep) x -> M1 D meta rep x Source #

type family GRecord (rep :: Type -> Type) :: Type -> Type where ... Source #

Equations

GRecord (M1 D meta rep) = M1 D meta (GRecord rep) 
GRecord (l :+: r) = GRecord l :+: GRecord r 
GRecord (M1 C ('MetaCons name fixity 'False) rep) = M1 C ('MetaCons name fixity 'True) (Snd (Count 0 rep)) 
GRecord rep = rep 

grecord :: GRecordable rep => rep x -> GRecord rep x Source #

gunrecord :: GRecordable rep => GRecord rep x -> rep x Source #