Basic Optics: Lenses, Prisms, and Traversals

This is a 47 Degrees Academy talk given by Alejandro Serrano on June 16th, 2020.

Lenses are becoming an increasingly important part of a Haskeller’s toolkit. Yet, when first approaching them, people may feel buried under a myriad of different lens-like thingies, and the complexity of some of the libraries implementing those concepts, like lens.

The goal of this talk is to provide a conceptual overview of three of the most important kinds of optics, namely lenses, prisms, and traversals. For most data types, those optics can be automatically generated, something we shall discuss. Finally, we shall look at one useful application of optics: treating semi-structured data such as JSON documents.

Join us over at the Academy Slack


If you’re interested in learning more about Haskell, join us for a two-day intensive course with Alejandro this July 6th - 7th. The course is currently 50% off and has a limited amount of spaces left. Find out more and register for Haskell Fundamentals.

Haskell Fundamentals

Make sure to subscribe to the 47 Degrees YouTube channel to be notified when new videos are added.

Ensure the success of your project

47 Degrees can work with you to help manage the risks of technology evolution, develop a team of top-tier engaged developers, improve productivity, lower maintenance cost, increase hardware utilization, and improve product quality; all while using the best technologies.