optics-core

Optics as an abstract interface: core definitions

Version on this page:0.2@rev:1
LTS Haskell 22.14:0.4.1.1
Stackage Nightly 2024-03-28:0.4.1.1
Latest on Hackage:0.4.1.1

See all snapshots optics-core appears in

BSD-3-Clause licensed by Adam Gundry, Andres Löh, Andrzej Rybczak, Oleg Grenrus
Maintained by [email protected]
This version can be pinned in stack with:optics-core-0.2@sha256:6966f4f8cc9163b63d87dcca2d2617684b4ac8a80c5e50c69e9f3adf4dcdf0e9,4409

This package makes it possible to define and use Lenses, Traversals, Prisms and other optics, using an abstract interface.

This variant provides core definitions with a minimal dependency footprint. See the optics package (and its dependencies) for documentation and the "batteries-included" variant.

Changes

optics-core-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 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
  • Assorted documentation improvements

optics-core-0.1 (2019-09-02)

  • Initial release