Scalaz
Principled Functional Programming in Scala
Scalaz is a foundational functional-programming library for Scala that provides type classes, data types, and syntax to write pure, composable code. It implements classic abstractions such as Functor, Applicative, Monad, Monoid, Foldable, and Traverse, along with powerful transformers (ReaderT, StateT, WriterT, OptionT, and more) to structure effects. The library offers rich data structures—\/ (disjunction), Validation, NonEmptyList, IList, and Free—that help model errors, invariants, and interpretable programs. Its type class–oriented design lets you write generic algorithms over capabilities rather than concrete types, improving reuse and testability. ...