Package2.1.3DataLenses
lens-family-core
Haskell 2022 Lens Families
- Version2.1.3
- CategoryData, Lenses
- LicenceBSD-3-Clause
- AuthorRussell O'Connor
- MaintainerRussell O'Connor <roconnor@r6.ca>
- Pinned byhackage lens-family-core 2.1.3
- Sourcehackage.haskell.org/package/lens-family-core-2.1.3
Modules
- Lens.FamilyThis is the main module for end-users of lens-families-core.
- Lens.Family.CloneThis module is provided for "Haskell 2022" compatibility.
- Lens.Family.State
- Lens.Family.State.LazyLenses allow you to use fields of the state of a state monad as if they were variables in an imperative language.
- Lens.Family.State.StrictLenses allow you to use fields of the state of a state monad as if they were variables in an imperative language.
- Lens.Family.StockThis module contains lenses, prisms, grids, grates and traversals for common structures in Haskell.
- Lens.Family.UncheckedCaution: Improper use of this module can lead to unexpected behaviour if the preconditions of the functions are not met.
Description
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.
Depends on
3 packages- base-4.23.0.0with GHC
- containers-0.8with GHC
- transformers-0.6.3.0with GHC