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

Modulegeneric-lens-lite-0.1Haskell2010

Data.Generics.Lens.Lite

Derive record field lenses generically.

  • 1 class
  • 1 value
valuefield :: (HasField name r a, Functor f) => (a -> f a) -> r -> f r
#

A lens that focuses on a field with a given name. Compatible with the lens package's Control.Lens.Lens type.

Note: the lens is simple, i.e. doesn't allow type-changing updates. This keeps the implementation small and quick.

You also may want to specify {-# OPTIONS_GHC -funfolding-keeness-factor=100 #-} (or some other arbitrarily large number) for GHC to inline more aggressively.

classclass HasField (name :: Symbol) r a | name r -> a where
#

Type-class restricting field usage.

Instances2HasField
  • HasFieldInternal name r a => HasField name r aDefined in generic-lens-lite-0.1 · Data.Generics.Lens.Lite
  • HasField name (Void1 a) aDefined in generic-lens-lite-0.1 · Data.Generics.Lens.Lite