serv-0.1.0.0: Dependently typed API server framework
Serv.Internal.Rec
Synopsis
data Rec rs where Source #
An HList collecting heterogenous types matched up to labeling information
Constructors
(-:) :: Proxy name -> ty -> Rec rs -> Rec ((name ::: ty) ': rs) Source #
Append a new header value on to a record
class Elem name e es where Source #
Minimal complete definition
eGet, eMap
Methods
eGet :: Rec es -> Tagged name e Source #
eMap :: Tagged name (e -> e) -> Rec es -> Rec es Source #
Instances
eGet :: Rec name es -> Tagged e ((Pair a * ': r) rs) e Source #
eMap :: Tagged e ((Pair a * ': r) rs) (e -> e) -> Rec name es -> Rec name es Source #
eGet :: Rec name es -> Tagged e ((Pair a * ': (a ::: *) name e) rs) e Source #
eMap :: Tagged e ((Pair a * ': (a ::: *) name e) rs) (e -> e) -> Rec name es -> Rec name es Source #
class Subset rs qs where Source #
project
project :: Rec qs -> Rec rs Source #
project :: Rec [Pair a *] qs -> Rec qs rs Source #
project :: Rec ((Pair a1 * ': (a1 ::: *) name r) rs) qs -> Rec qs rs Source #
class RecordIso rs qs where Source #
reorder
reorder :: Rec rs -> Rec qs Source #
reorder :: Rec qs rs -> Rec rs qs Source #