Haskell 98 Lens Families

Version on this page:1.2.0
LTS Haskell 22.28:2.1.3
Stackage Nightly 2024-07-13:2.1.3
Latest on Hackage:2.1.3

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.0@sha256:e95b8f14e2b4ca280d0a6bc2d3c221b38dcd5d932432e4f429db84bacb02a4bf,2048

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.