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
7 modules- Lens.Family59This is the main module for end-users of lens-families-core.
- Lens.Family.Clone31This module is provided for "Haskell 2022" compatibility.
- Lens.Family.State0
- Lens.Family.State.Lazy33Lenses allow you to use fields of the state of a state monad as if they were variables in an imperative language.
- Lens.Family.State.Strict33Lenses allow you to use fields of the state of a state monad as if they were variables in an imperative language.
- Lens.Family.Stock58This module contains lenses, prisms, grids, grates and traversals for common structures in Haskell.
- Lens.Family.Unchecked13Caution: 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.20.2.0with GHC
- containers-0.7with GHC
- transformers-0.6.1.1with GHC