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.
Changes
optics-0.2 (2019-10-18)
Add non, non' and anon to Optics.Iso
ix can produce optic kinds other than AffineTraversal
Generalise type of generic1
Move use from Optics.View to Optics.State and restrict its type
Add preuse to Optics.State
Rename use, uses, listening and listenings to reflect the fact that
they have ViewResult-generalised types
Add noPrefixFieldLabels and noPrefixNamer to Optics.TH
Move some internal definitions out to new indexed-profunctors package
Introduce OpticKind and IxList type synonyms for better type inference
Make itraverse for Seq faster for containers >= 0.6.0