optics: Optics as an abstract interface

[ bsd3, data, lenses, library, optics ] [ Propose Tags ]

This package makes it possible to define and use Lenses, Traversals, Prisms and other optics, using an abstract interface. See the main module Optics for the documentation.

This is the "batteries-included" variant with many dependencies; see the optics-core package and other optics-* dependencies if you need a more limited dependency footprint.

Note: Hackage does not yet display documentation for reexported-modules, but you can start from the Optics module documentation or see the module list in optics-core.


Maintainer's Corner

For package maintainers and hackage trustees


  • No Candidates
Versions [RSS] 0.1, 0.2, 0.3, 0.4, 0.4.1, 0.4.2
Change log CHANGELOG.md
Dependencies array (>= && <0.6), base (>=4.10 && <5), containers (>= && <0.7), mtl (>=2.2.2 && <2.4), optics-core (>=0.4.1 && <0.4.2), optics-extra (>=0.4.2 && <0.4.3), optics-th (>=0.4.1 && <0.4.2), transformers (>=0.5 && <0.7) [details]
License BSD-3-Clause
Author Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus
Maintainer optics@well-typed.com
Category Data, Optics, Lenses
Bug tracker https://github.com/well-typed/optics/issues
Source repo head: git clone https://github.com/well-typed/optics.git(optics)
Uploaded by AdamGundry at 2022-05-19T19:52:23Z
Distributions LTSHaskell:0.4.2, NixOS:0.4.2, Stackage:0.4.2, openSUSE:0.4
Downloads 4936 total (88 in the last 30 days)
Rating 2.5 (votes: 5) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
All reported builds failed as of 2022-05-19 [all 1 reports]