This document contains a presentation about lenses in Haskell and other functional programming languages. It begins with an introduction to the speaker and an overview of functional programming concepts like higher-order functions, lambdas, and immutability. It then demonstrates how to define algebraic data types and lenses in Haskell to manipulate and access data in a functional way. Examples are provided for using lenses to update nested data structures. The remainder of the presentation discusses using lenses to define scenarios like managing attendees at a conference and adding tweets. It concludes by briefly mentioning lenses in other languages like Scala, JavaScript, and C++.