generic-lens

Generically derive traversals, lenses and prisms.

This library uses GHC.Generics to derive efficient optics (traversals, lenses and prisms) for algebraic data types in a type-directed way, with a focus on good type inference and error messages when possible. The library exposes a van Laarhoven interface. For an alternative interface, supporting an opaque optic type, see @<https://hackage.haskell.org/package/generic-optics generic-optics>@.