Immutable data
Arrow Optics provide concise ways to handle immutable data.
Immutable data manipulation with optics is available through the arrow-optics library,
and the corresponding plug-ins.
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.
Regular expressions
Lenses, prisms, and basic traversals have an important limitation: the only