poly-rec-0.6.0.0: Polykinded extensible records

Safe HaskellSafe
LanguageHaskell2010

Data.GenRec.RecInstances.Record

Synopsis

Documentation

type Record = (Rec Reco :: [(Symbol, Type)] -> Type) Source #

  • Records

datatype definition

data Reco Source #

index type

Instances
(Show v, KnownSymbol l, Show (Record ((,) l' v' ': r))) => Show (Record ((,) l v ': ((,) l' v' ': r))) Source # 
Instance details

Defined in Data.GenRec.RecInstances.Record

Methods

showsPrec :: Int -> Record ((l, v) ': ((l', v') ': r)) -> ShowS #

show :: Record ((l, v) ': ((l', v') ': r)) -> String #

showList :: [Record ((l, v) ': ((l', v') ': r))] -> ShowS #

(Show v, KnownSymbol l) => Show (Record ((,) l v ': ([] :: [(Symbol, Type)]))) Source # 
Instance details

Defined in Data.GenRec.RecInstances.Record

Methods

showsPrec :: Int -> Record ((l, v) ': []) -> ShowS #

show :: Record ((l, v) ': []) -> String #

showList :: [Record ((l, v) ': [])] -> ShowS #

Show (Record ([] :: [(Symbol, Type)])) Source # 
Instance details

Defined in Data.GenRec.RecInstances.Record

Methods

showsPrec :: Int -> Record [] -> ShowS #

show :: Record [] -> String #

showList :: [Record []] -> ShowS #

type ShowField Reco Source # 
Instance details

Defined in Data.GenRec.RecInstances.Record

type ShowField Reco = "field named "
type ShowRec Reco Source #

Type level show utilities

Instance details

Defined in Data.GenRec.RecInstances.Record

type ShowRec Reco = "Record"
type WrapField Reco (v :: Type) Source #

field type

Instance details

Defined in Data.GenRec.RecInstances.Record

type WrapField Reco (v :: Type) = v

untag :: Tagged l v -> v Source #

getLabel :: Tagged l v -> Label l Source #

Get a label

(.==.) :: Label l -> v -> Tagged l v infix 4 Source #

Pretty Constructor

(.**.) :: Require (OpExtend Reco l v r) (Text "" ': ([] :: [ErrorMessage])) => Tagged l v -> Rec Reco r -> ReqR (OpExtend Reco l v r) infixr 2 Source #

extension

(##) :: Require (OpLookup Reco l r) ([] :: [ErrorMessage]) => Rec Reco r -> Label l -> ReqR (OpLookup Reco l r) infixl 5 Source #

Lookup

emptyRecord :: Record ('[] :: [(Symbol, Type)]) Source #

For the empty Record