Proptics is a Profunctor Optics and Lenses library for Scala (and Scala.js)
Proptics is built from several modules:
- core - contains optics (e.g.
Traversal), type class definitions (e.g.
Choice) type class instances, and syntax for standard library types and cats data types
- profunctor - profunctor type classes (e.g
Closed) and their instances
- laws - laws for the optics and type classes
- tests - tests the lawfulness of optics and type class instances
To get started with sbt, simply add the following line to your
libraryDependencies ++= Seq( "io.github.sagifogel" %% "proptics-core" % "0.3.4", "io.github.sagifogel" %% "proptics-profunctor" % "0.3.4" )
Published for Scala 2.12, 2.13, 3.1 and Scala.js. For changes, refer to the release notes.
Library is inspired by ideas from purescript-profunctor-lenses.
Licensed under the MIT License.