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
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.