vinyl-plus-0.1.1: Vinyl records utilities

Safe HaskellNone
LanguageHaskell2010

Data.Vinyl.Optic.Tagged.Proxy.Functor

Description

This module provides accessors and modifiers for labeled records. As the module name indicates, the functions provided by this module are designed to work with records under the following conditions:

  1. The VisibleTypeApplication extension is unavailable.

If you are working with labeled records that use Identity inner functor for TaggedFunctor, you should consider using Data.Vinyl.Optic.Plain.Class.Tagged.Proxy.Identity instead.

Documentation

lens :: forall k g f rs i v proxy. (Functor g, IxElem k rs i v) => proxy k -> (f v -> g (f v)) -> Rec (TaggedFunctor f) rs -> g (Rec (TaggedFunctor f) rs) Source

get :: forall k f rs i v proxy. IxElem k rs i v => proxy k -> Rec (TaggedFunctor f) rs -> f v Source

set :: forall k f rs i v proxy. IxElem k rs i v => proxy k -> f v -> Rec (TaggedFunctor f) rs -> Rec (TaggedFunctor f) rs Source

modify :: forall k f rs i v proxy. IxElem k rs i v => proxy k -> (f v -> f v) -> Rec (TaggedFunctor f) rs -> Rec (TaggedFunctor f) rs Source