Overview of Monocle modules
masterMonocle is split into several modules to allow for selective dependency inclusion:
- core: Contains the primary optics (e.g.,
Lens,Prism,Traversal) and type class definitions (e.g.,Index,Each,Plated), along with instances for standard library and cats data types. - macro: Provides macros to simplify the generation of optics.
- laws: Contains laws for the optics and type classes.
- refined: Provides optics and type class instances for use with refined refinement types.
- generic (deprecated): Optics and type class instances for
HListandCoproductfrom shapeless. - state (deprecated): Provides conversion between optics and
StateorReader. - unsafe (deprecated): Provides optics that do not fully satisfy laws but offer high convenience.
- tests: Contains tests to verify that optics and type class instances satisfy their laws.
- bench: Contains JMH benchmarks for measuring optics performance.
- docs: Source for the Monocle documentation website.