CI | Release | Snapshot | Discord |
---|---|---|---|
ZIO Prelude is an alternative approach to functional abstractions in Scala, which throws out the classic functor hierarchy in favor of a modular algebraic approach that is smaller, easier to understand and teach, and more expressive.
ZIO Prelude has three key areas of focus:
- Data structures, and type classes for traversing them. ZIO Prelude embraces the collections in the Scala standard library, and extends them with new instances and new useful additions.
- Patterns of composition for types. ZIO Prelude provides a small catalog of patterns for binary operators, which combine two values into another value of the same type. These patterns are named after the algebraic laws they satisfy: associativity, commutativity, and identity.
- Patterns of composition for type constructors. ZIO Prelude provides a catalog of patterns for
binary operators on type constructors (things like
Future
,Option
, ZIOTask
). These patterns are named after the algebraic laws they satisfy (associativity, commutativity, and identity) and the structure they produce, whether a tuple or an either.
The library has a small research-stage package (zio.prelude.fx
) that provides abstraction over
expressive effect types like ZIO and ZPure
.
The ZIO Prelude Microsite is currently under development.
ZIO Prelude Microsite (not available yet, in the meantime you can check those slides)
Documentation for contributors
See the Code of Conduct