Concise ways to handle immutable data
Introduction
Data classes, sealed hierarchies, and above all, immutable data is
Lenses
Lenses are the most common type of optic you work with. This section discusses
Optionals
Optionals allow focusing on elements that may not be present. This includes
Traversals
The framework laid out by optics extends very nicely to values like lists, which
Prisms & Isos
Prisms extend the capabilities of optics from merely inspecting or modifying
Reflection
Although we strongly recommend generating optics using the DSL and @optics attribute, sometimes this is impossible. We provide the small utility package arrow-optics-reflect for those scenarios, which bridges Arrow Optics with Kotlin's reflection capabilities.