Let the Scala compiler work for you. We provide type classes, instances, conversions, testing, supplements to the standard library, and much more.
A library intended to provide abstractions for functional programming in Scala, leveraging its unique features. Design goals are approachability, modularity, documentation and efficiency.
Extensions and companions for Cats
Shapeless is a generic programming library. Starting with implementations of Scrap your boilerplate and higher rank polymorphism in Scala, it quickly grew to provide advanced abstract tools like heterogenous lists and automatic instance derivation for type classes.
Spire is a numeric library for Scala which is intended to be generic, fast, and precise. Using features such as specialization, macros, type classes, and implicits, Spire works hard to defy conventional wisdom around performance and precision trade-offs.
A solid foundation of basic algebra type classes such as groups and rings aiming to serve as a consistent foundation for multiple libraries.
Originally intended for internal use in spire, this library helps libraries declaring type classes to precisely state the laws which instances need to satisfy, and takes care of not checking derived laws multiple times.
A pure functional JDBC layer for Scala. It is not an ORM, nor is it a relational algebra; it just provides a principled way to construct programs (and higher-level libraries) that use JDBC.
Extensible effects are an alternative to monad transformers for computing with effects in a functional way. This library is based on the “free-er” monad and an “open union” of effects described by Oleg Kiselyov in “Freer monads, more extensible effects”
Frameless is a library for working with Spark using more expressive types.
FS2 is a library for purely functional, effectful, and polymorphic stream processing library in the Scala programming language. Its design goals are compositionality, expressiveness, resource safety, and speed. The name is a modified acronym for Functional Streams for Scala (FSS, or FS2).
High-performance library for composing asynchronous, event-based programs, exposing a Reactive Streams implementation along with primitives for dealing with concurrency and side-effects.
Strongly inspired by Haskell's lens library, Monocle is an Optics library where Optics gather the concepts of Lens, Traversal, Optional, Prism and Iso.
Tools for refining types with type-level predicates which constrain the set of values described by the refined type, for example restricting to positive or negative numbers.
We wish to work with all stakeholders in the Scala ecosystem to safeguard the interests of the entire Scala community.
ScalaCheck is a library for automated property-based testing. It contains generators for randomized test data and combinators for properties.
scodec is a combinator library for working with binary data. It focuses on contract-first and pure functional encoding and decoding of binary data and provides integration with shapeless.
specs2 is a library for writing executable software specifications, aiming for conciseness, readability and extensibility.
Zero-dependency Scala library that defines commonly used type classes for functional programming.