On this page:
Ocular Patdown
8.18

Ocular Patdown🔗ℹ

Mike Delmonaco <mdelmonacochs@gmail.com>

This is a (currently experimental) library for optics. Optics are useful for performing deep immutable updates and accesses within structures.

This library also provides the update form, which is like match, but can be used for immutable updates as well. The update form does not require knowledge of optics to use.

For those unfamiliar with lenses, read the Optics Guide.

For those who are primarily interested in the update form, see Pattern-based Updating

    1 Optics Guide

      1.1 Lenses (Guide)

      1.2 Traversals (Guide)

      1.3 Isomorphisms (Guide)

      1.4 Conclusion

    2 Optics Reference

      2.1 Optics

      2.2 Lenses

        2.2.1 Lens Operations

        2.2.2 Library Lenses

        2.2.3 Generic Lens Interface

      2.3 Traversals

        2.3.1 Traversal Operations

        2.3.2 Library Traversals

        2.3.3 Traversal Combinators

        2.3.4 Generic Traversal Interface

      2.4 Isomorphisms

        2.4.1 Isomorphism operations

        2.4.2 Library Isomorphisms

        2.4.3 Isomorphism Generic Interface

      2.5 Prisms

        2.5.1 Prism Operations

        2.5.2 Library Prisms

        2.5.3 Prism Generic Interface

      2.6 Pattern-based Updating

        2.6.1 Patterns

        2.6.2 Getter and Updater Utilities

        2.6.3 Extending Update