This package provides first class(†) functional references in Van Laarhoven style supporting the following optics:
Lenses (view, over)
Traversals (toListOf, matching, over)
Grates (zipWithOf, under, review)
Adapters (view, review)
Grids (toListOf, over / under, review)
Prisms (matching, over / under, review)
(†) For optimal first-class support use the
lens-family package with rank 2 / rank N polymorphism.
Lens.Family.Clone allows for first-class support of lenses and traversals for those who cannot support rank 2 polymorphism.