lens-1.3.1: Lenses, Folds and Traversals

PortabilityTemplateHaskell
Stabilityexperimental
MaintainerEdward Kmett <ekmett@gmail.com>
Safe HaskellTrustworthy

Control.Lens.TH

Contents

Description

 

Synopsis

Documentation

data LensRules Source

This configuration describes the options we'll be using to make isomorphisms or lenses

isoLensRule :: Simple Lens LensRules (String -> Maybe String)Source

Lens to access the convention for naming top level isomorphisms in our lens rules

fieldLensRule :: Simple Lens LensRules (String -> Maybe String)Source

Lens to access the convention for naming fields in our lens rules

defaultLensRules :: LensRulesSource

Default lens rules

Constructing Lenses Automatically

makeLenses :: Name -> Q [Dec]Source

Build lenses with a sensible default configuration

makeLensesWith :: LensRules -> Name -> Q [Dec]Source

Build lenses with a custom configuration

makeLensesFor :: [(String, String)] -> Name -> Q [Dec]Source

Derive lenses, specifying explicit pairings of (fieldName, lensName).

Example usage:

 makeLensesFor [("_foo", "fooLens"), ("bar", "lbar")] ''Foo