Simon Peyton-Jones | 2 Oct 23:51 2013

Using lenses



Some of you will know that I’ve promised to give a talk about Edward’s lens library at the Haskell Exchange in London next Wednesday (9th).  I did this to give everyone (including me) a break from GHC hackery, and also to force me to learn about this lens voodoo that everyone is twittering about.  Edward generously gave me quite a bit of one-to-one attention last week (my hair is still standing on end), but this message is to ask your help too.

Specifically, I’d like to give some compelling use-cases.   If you are using the lens library yourself, could you spare a few minutes to tell me how you are using it?  I expect to cover Lens and Traversal but not Prism.


The use-case everyone starts with is nested records, but I’d like to go beyond that.  The next levels seem to be:

·         Lenses as views of data that isn’t “really there” e.g. regarding a record with rectangular coordinates as having polar coordinates too.

·         Lenses and Traversals that focus on elements of finite maps (Control.Lens.At)


What else? I’m sure you are using them in all sorts of cool ways that I would never think of, and I’d love to know.


Please don’t tell me anything secret!


And don’t burn too many cycles on this...I don’t want to waste your time, and I can always get back to you if I can’t understand what you say.  Sooner is better than later...Weds is coming.


Simon “Edward’s prophet” PJ


Libraries mailing list
Libraries <at>