[Haskell-cafe] Using lenses

Roman Cheplyaka roma
Thu Oct 3 08:57:31 UTC 2013


Hi Simon,

An interesting use case is my time-lens library.
http://hackage.haskell.org/package/time-lens-0.3/docs/Data-Time-Lens.html

You can do things like

  >>> modL minutes (+5) (TimeOfDay 16 57 13)
  17:02:13

But one has to be somewhat lenient about the lens laws here.

Roman

* Simon Peyton-Jones <simonpj at microsoft.com> [2013-10-03 08:07:12+0000]
> (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
> 

> _______________________________________________
> Libraries mailing list
> Libraries at haskell.org
> http://www.haskell.org/mailman/listinfo/libraries

> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://www.haskell.org/mailman/listinfo/haskell-cafe

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://www.haskell.org/pipermail/haskell-cafe/attachments/20131003/f7ca13cb/attachment.pgp>



More information about the Haskell-Cafe mailing list