Immutability is a concept supported in Kotlin that we usually implement using data classes and read only properties. Working with complex nested immutable structures can be a bit unfriendly on this language, given how nested calls to the copy constructor lead to hardly understandable codebases. In this talk we will learn about optics, and how we can use and compose them to create highly reusable paths to update our nested data structures.
- Intro into Optics (Lens, Prism, Optional)
- Composing Optics
- Separating path vs logic (includes DSL)
- Outro: more optics (Traversal / Fold)
- Knowledge of Kotlin recommended but not required.
- Basic knowledge of Functional Programming recommended but not required.
A Q&A session will immediately follow the talk - please add your questions throughout the talk to the Q&A section, not chat.