Haskell 98 Lens Families

Version on this page:1.2.1
LTS Haskell 21.13:2.1.2
Stackage Nightly 2023-09-24:2.1.2
Latest on Hackage:2.1.2

See all snapshots lens-family-core appears in

BSD-3-Clause licensed by Russell O'Connor
Maintained by Russell O'Connor
This version can be pinned in stack with:lens-family-core-1.2.1@sha256:f2ace017ffa577ce500ef12338bd3dcb7b8a67ac06e814273f9ca0c62d37cdf3,2048
Used by 2 packages in lts-6.35(full list with versions):

This package provides first class(†) functional references. In addition to the usual operations of getting, setting and composition, plus integration with the state monad, lens families provide some unique features:

  • Polymorphic updating

  • Traversals

  • Cast projection functions to read-only lenses

  • Cast "toList" functions to read-only traversals

  • Cast semantic editor combinators to modify-only traversals.

(†) For optimal first-class support use the lens-family package with rank 2 / rank N polymorphism. Lens.Family.Clone allows for first-class support of lenses and traversals for those who require Haskell 98.