Join Newsletter

Let's Lens

YOW! Lambda Jam 2020 - 20 Jul

This workshop is an online workshop that will take place over two days:

  • Monday 20 July: 9am - 1pm
  • Tuesday 21 July: 9am - 1pm

Let's Lens presents a series of exercises, in a similar format to the Data61 functional programming course material. The subject of the exercises is around the concept of lenses, initially proposed by Foster et al., to solve the view-update problem of relational databases.

The theories around lenses have been advanced significantly in recent years, resulting in a library, implemented in Haskell, called lens.

This workshop will take you through the basic definition of the lens data structure and its related structures such as traversals and prisms. Following this we implement some of the low-level lens library, then go on to discuss and solve a practical problem that uses all of these structures.

An attendee who completes this workshop should expect to confidently use the lens library, or other similar libraries, in their every day programming.

Edward Kmett

Research Engineer

Machine Intelligence Research Institute

United States

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 hundreds of other developers on over 250 projects on github, works on ways to try to better scale functional programming, logic programming and formal methods at the Machine Intelligence Research Institute, 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.

Tony Morris

Software Engineer

Simple Machines


Tony has been deploying functional programming solutions for 15 years, using a variety of programming languages, but Haskell and Scala primarily.

Tony teaches functional programming at the University of Queensland and for professional programmers with a view toward producing a viable commercial result. Using a principled and passionate approach to teaching functional programming and sharing ideas, Tony enjoys exploring the consequences for software development to provide a rewarding experience for everyone involved.

Workshop Details

Target Audience
developers, Technical leads and Architects,programmers, testers, business analysts and product owners
Full day


Participants will need a suitable development machine (e.g. portable laptop) for working through the exercises. You will also need to install the Glasgow Haskell Compiler ( version 8 or higher on that machine.