[Haskell-cafe] Using lenses

Simon Peyton-Jones simonpj
Thu Oct 3 08:07:12 UTC 2013


(I sent this to 'libraries' but Kim-Ee suggested adding Caf?, where so many smart people hang out.)

Friends

Some of you will know that I've promised to give a talk about Edward's lens library<http://hackage.haskell.org/package/lens> at the Haskell Exchange<http://skillsmatter.com/event/scala/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!  To give everyone the benefit I may just concatenate all the replies and send to you all, so please say if you don't want me to do that with yours.

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

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20131003/be8c828c/attachment.htm>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: ATT00001.txt
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20131003/be8c828c/attachment.txt>



More information about the Haskell-Cafe mailing list