zio / zio-optics Edit

Easily modify parts of larger data structures

Version Matrix

ZIO Optics

Project Stage CI Release Snapshot Discord
Project stage CI Release Artifacts Snapshot Artifacts Badge-Discord


ZIO Optics is a library that makes it easy to modify parts of larger data structures based on a single representation of an optic as a combination of a getter and setter.

ZIO Optics features:

  • A unified representation of optics - All optics compose the same way because they are all instances of the same data type.
  • Deep ZIO integration - Represent effectual and transactional optics that work with ZIO data structures like Ref and TMap.
  • Helpful error messages - When an optic fails see where it failed and why.
  • Zero dependencies - No dependencies other than ZIO itself.
  • No unnecessary abstractions - Concrete representation makes it easy to learn.

For more information check out the microsite below.


ZIO Optics Microsite


Documentation for contributors

Code of Conduct

See the Code of Conduct


Come chat with us on Badge-Discord.