HORIZON HASKELLDocslts/ghc-9.10.x248f8f02026-10-05Search names, modules, packages, or :: a typeCtrl K

GHC 9.10.3 · lts/ghc-9.10.x · 248f8f0 · 2026-10-05

Modulelens-5.3.5Haskell2010

Control.Lens.Internal.FieldTH

  • 5 types
  • 3 values
  • Packagelens-5.3.5
  • Exports8
  • LanguageHaskell2010
  • LicenceBSD-2-Clause
  • SourceFieldTH.hs
typetype FieldNamer = Name -> [Name] -> Name -> [DefName]
#

The rule to create function names of lenses for data fields.

Although it's sometimes useful, you won't need the first two arguments most of the time.

datadata DefName
#

Name to give to generated field optics.

Constructors

Instances3Eq, Ord, Show
  • Eq DefNameDefined in lens-5.3.5 · Control.Lens.Internal.FieldTH
  • Ord DefNameDefined in lens-5.3.5 · Control.Lens.Internal.FieldTH
  • Show DefNameDefined in lens-5.3.5 · Control.Lens.Internal.FieldTH
typetype ClassyNamer = Name -> Maybe (Name, Name)
#

The optional rule to create a class and method around a monomorphic data type. If this naming convention is provided, it generates a "classy" lens.

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

typetype HasFieldClasses = StateT (Set Name) Q
#

Tracks the field class Names that have been created so far. We consult these so that we may avoid creating duplicate classes.