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.

Learn more »


Lenses for Scala. Strongly inspired by Haskell's lens library, Monocle is an Optics library where Optics gather the concepts of Lens, Traversal, Optional, Prism and Iso.

Learn more »


Property checking. ScalaCheck is a library for automated property-based testing. It contains generators for randomized test data and combinators for properties.

Learn more »


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.

Learn more »


Expressive specifications. specs2 is a library for writing executable software specifications, aiming for conciseness, readability and extensibility.

Learn more »


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.

Learn more »


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.

Learn more »


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.

Learn more »

Plugins for scalac

Extending the compiler. We provide some experimental compiler plugins to scrap some more boilerplate and help you adhere to certain coding standards.

Learn more »