has-0.2: Generic Haskell's Record Accessors
Data.Has
Description
Provides some pliant data types and functions.
Synopsis
data a :*: b Source
Represents Type level list.
Constructors
Instances
class Has e s whereSource
Provides plient function. Holds e == prj (inj e s) for all s and e.
e == prj (inj e s)
s
e
Methods
inj :: e -> s -> sSource
Injects a value of type e into s if s contains the type e.
prj :: s -> eSource
Projects a value of type e out from s if s contains the type e.
upd :: Has e s => (e -> e) -> s -> sSource
Updates a value e in s, using given function e -> e.
e -> e