Pure profunctor lenses. A mechanism for updating, viewing, and setting values within nested data structures. As in:
> structure = Tuple (Tuple (Tuple "hi!" 3) 2) 1
> import Data.Lens
> _leftmost = _1 <<< _1 <<< _1
> view _leftmost structure
"hi!"
> set _leftmost "Bye!" structure
(Tuple (Tuple (Tuple "Bye!" 3) 2) 1)
> over _leftmost String.toUpper structure
(Tuple (Tuple (Tuple "HI!" 3) 2) 1)
# with Bower
bower install purescript-profunctor-lenses
# with Spago
spago install profunctor-lenses
Module documentation is published on Pursuit. You can find examples in the tests and the examples directory.
There are other in-depth materials for learning about profunctor optics and lenses in PureScript.
- A book, Lenses for the Mere Mortal
- A long-form guide, Practical Profunctor Lenses & Optics in PureScript
Read the contribution guidelines to get started and see helpful related resources.