profunctor-optics: An optics library compatible with the typeclasses in 'profunctors'.

[ bsd3, data, lenses, library, profunctors, program ] [ Propose Tags ]

This package provides utilities for creating and manipulating profunctor-based optics. Some highlights:

Full complement of isos, prisms, lenses, grates, affines, traversals, cotraversals, views, setters, folds, and more.

Composable indexed or co-indexed variants of most of the above.

Compact & straight-forward implementation. No inscrutable internal modules, lawless or otherwise ancillary typeclasses, or heavy type-level machinery.

Fully interoperable. All that is required to create optics (standard, indexable, or co-indexable) is the profunctors package. Optics compose with (.) from Prelude as is typical. If you want to provide profunctor optics for your own types in your own libraries, you can do so without incurring a dependency on this package. Conversions to & from the Van Laarhoven representations are provided for each optic type.

Well-documented properties and exportable predicates for testing your own optics.

See the Readme file for more information.

Versions [faq] 0.0.0.1, 0.0.0.2, 0.0.0.3, 0.0.0.4, 0.0.0.5, 0.0.1, 0.0.2
Change log ChangeLog.md
Dependencies adjunctions (>=4.4 && <5.0), base (>=4.9 && <5.0), connections (>=0.0.2.2 && <0.1), containers, distributive (>=0.3 && <1), doctest (>=0.8), ilist, keys (==3.12.*), mtl (>=2.0.1 && <2.3), newtype-generics (>=0.5.3 && <0.6), profunctor-arrows (>=0.0.0.2 && <0.0.1), profunctor-optics, profunctors (>=5.4 && <6), rings (>=0.0.2.4 && <0.1), semigroupoids (==5.*), tagged (>=0.4.4 && <1), transformers (==0.5.*), unliftio-core (>=0.1.2 && <0.2) [details]
License BSD-3-Clause
Copyright 2019 Chris McKinlay
Author Chris McKinlay
Maintainer Chris McKinlay
Category Data, Lenses, Profunctors
Home page https://github.com/cmk/profunctor-optics
Bug tracker https://github.com/cmk/profunctor-optics/issues
Source repo head: git clone https://github.com/cmk/profunctor-optics
Uploaded by cmk at 2019-12-29T23:21:06Z
Distributions NixOS:0.0.2
Executables doctest
Downloads 1437 total (14 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs uploaded by user
Build status unknown [no reports yet]

Modules

[Index] [Quick Jump]

Downloads

Maintainer's Corner

For package maintainers and hackage trustees