Lenses and prisms have taken on a bigger and bigger role in the Haskell community for dealing with problem spaces that I never anticipated when initially designing the lens library.
I'll talk about how lenses are prisms are being used to parse and deal with json, xml for all sorts of "CRUD" applications just as nicely as their "designed" goal of being able to work deeply nested structures.
Most of the examples will be in Haskell using lens, but we'll dip out to Scala here and there to see that there isn't anything particularly special about laziness and Haskell when it comes to finding uses for these ideas.
Edward spent most of his adult life trying to build reusable code in imperative languages before realizing he was building castles in sand. He converted to Haskell in 2006 while searching for better building materials. He now chairs the Haskell core libraries committee, collaborates with more than 400 developers on over 200 projects on GitHub, builds tools for quants and traders using the purely functional Ermine programming language at McGraw Hill Financial, and is obsessed with finding better tools so that seven years from now he won't be stuck solving the same problems with the same tools he was stuck using seven years ago.