lens-4.13: Lenses, Folds and Traversals

Copyright(C) 2014-2015 Edward Kmett, (C) 2014 Eric Mertens
LicenseBSD-style (see the file LICENSE)
MaintainerEdward Kmett <ekmett@gmail.com>
Stabilityexperimental
Portabilitynon-portable
Safe HaskellTrustworthy
LanguageHaskell98

Control.Lens.Internal.FieldTH

Description

 

Synopsis

Documentation

data LensRules

Constructors

LensRules 

Fields

_simpleLenses :: Bool
 
_generateSigs :: Bool
 
_generateClasses :: Bool
 
_allowIsos :: Bool
 
_allowUpdates :: Bool

Allow LensTraversal (otherwise GetterFold)

_lazyPatterns :: Bool
 
_fieldToDef :: Name -> [Name] -> Name -> [DefName]

Type Name -> Field Names -> Target Field Name -> Definition Names

_classyLenses :: Name -> Maybe (Name, Name)
 

data DefName

Name to give to generated field optics.

Constructors

TopName Name

Simple top-level definiton name

MethodName Name Name

makeFields-style class name and method name

makeFieldOptics :: LensRules -> Name -> DecsQ

Compute the field optics for the type identified by the given type name. Lenses will be computed when possible, Traversals otherwise.