Let the Scala compiler work for you. We provide type classes, instances, conversions, testing, supplements to the standard library, and much more.Get started
Flexible law checking. 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.
Lenses for Scala. Strongly inspired by Haskell's
lens library, Monocle is an Optics library where Optics gather the concepts of
Property checking. ScalaCheck is a library for automated property-based testing. It contains generators for randomized test data and combinators for properties.
Generic programming. Shapeless is an 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.
Expressive specifications. specs2 is a library for writing executable software specifications, aiming for conciseness, readability and extensibility.
Numeric abstractions. 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 allow developers to write efficient numeric code without having to »bake in« particular numeric representations.
Little helpers. To make your life even easier, we tried to keep the dependencies between the projects to a minimum. If you choose to combine some libraries, we provide convenient helpers to reduce interoperability boilerplate in your code.
Our fork of the Scala compiler. We wish to work with all stakeholders in the Scala ecosystem to safeguard the interests of the entire Scala community.
Extending the compiler. We provide some experimental compiler plugins to scrap some more boilerplate and help you adhere to certain coding standards.