lens-family-core

Haskell 2022 Lens Families

Version on this page:2.0.0
LTS Haskell 23.0:2.1.3
Stackage Nightly 2024-12-11: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-2.0.0@sha256:645b0553e16a3857b08fa44f11f0664296e1db5d6494a83634711c7f4f1707a7,2290

This package provides first class(†) functional references in Van Laarhoven style supporting the following optics:

  • Lenses (view, over)

  • Traversals (toListOf, matching, over)

  • Setters (over)

  • Grates (zipWithOf, under, review)

  • Resetters (under)

  • Adapters (view, review)

  • Grids (toListOf, over / under, review)

  • Prisms (matching, over / under, review)

  • Getters (view)

  • Folders (toListOf)

  • Reviewers (review)

(†) 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 cannot support rank 2 polymorphism.