-
Notifications
You must be signed in to change notification settings - Fork 275
History of Lenses
lens
didn't just come out of the aether fully formed, it was a result of many people having many ideas over a long time. Here are a few of the revelations, reading about them may help understand the ideas and concerns of the library.
Jeremy Gibbons and Bruno C. d. S. Oliveira demonstrate that Traversals encode the Iterator pattern
The Essence of the Iterator Pattern
Luke Palmer creates a pattern he calls Accessors to ease stateful programming in Haskell
(wayback)Making Haskell nicer for game programming
Luke Palmer refines the notion of Accessors into something more like lenses
(wayback)Haskell State Accessors (second attempt: Composability)
Twan van Laarhoven comes up with a novel way to express lenses
CPS based functional references
Russel O'Connor realises such lenses can support polymorphic update
Polymorphic Update with van Laarhoven Lenses
Edward Kmett realises that by changing the constraint on the Functor, it is possible to have lens-like things like Getters, Setters, and Traversals