vinyl-0.1.1.0: Extensible Records

Safe HaskellNone

Data.Vinyl.Rec

Documentation

data Rec whereSource

Constructors

RNil :: Rec `[]` f 
:& :: r ~ (sy ::: t) => f t -> Rec rs f -> Rec (r : rs) f 

Instances

Run (Rec rs) 
(~ * y (::: sy t), IElem * y xs, <: (PlainRec xs) (PlainRec ys)) => (PlainRec xs) <: (PlainRec (: * y ys)) 
(Eq (g t), Eq (Rec fs g)) => Eq (Rec (: * (::: s t) fs) g) 
Eq (Rec ([] *) f) 
(SingI Symbol sy, Show (g t), Show (Rec fs g)) => Show (Rec (: * (::: sy t) fs) g) 
Show (Rec ([] *) f) 
Apply (* -> *) (~> *) (Rec rs) 
(Rec xs f) <: (Rec ([] *) f) 

(=:) :: Applicative f => (sy ::: t) -> t -> Rec `[sy ::: t]` fSource

(<+>) :: Rec as f -> Rec bs f -> Rec (as ++ bs) fSource

fixRecord :: (forall f. Applicative f => Rec rs f) -> PlainRec rsSource