vinyl-0.1.3: Extensible Records

Safe HaskellNone

Data.Vinyl.Lens

Synopsis

Documentation

type RLens sy t = IElem (sy ::: t) rs => Lens' (PlainRec rs) tSource

rLens :: (sy ::: t) -> RLens sy tSource

Generates a lens for a record in the Identity functor.

rGet :: (MonadReader (PlainRec rs) m, IElem * (::: sy a) rs) => ::: sy a -> m aSource

rPut :: IElem * (::: sy b) rs => ::: sy b -> b -> PlainRec rs -> PlainRec rsSource

rMod :: IElem * (::: sy t) rs => ::: sy t -> (t -> t) -> PlainRec rs -> PlainRec rsSource

type RLens' f sy t = IElem (sy ::: t) rs => Lens' (Rec rs f) (f t)Source

rLens' :: (sy ::: t) -> RLens' f sy tSource

Generates a lens of a record in an arbitrary functor.