typelevel.scala

Let the Scala compiler work for you. We provide type classes, instances, conversions, testing, supplements to the standard library, and much more.

Get started

Argonaut

Purely functional JSON. Argonaut is a JSON library for Scala, providing a rich library for parsing, printing and manipulation as well as convenient codecs for translation to and from scala data types.

Learn more »

discipline

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 »

Monocle

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 »

ScalaCheck

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

Learn more »

scalaz

Functional programming. Scalaz is a Scala library for functional programming. It provides purely functional data structures and defines a set of foundational type classes (e.g. Functor and Monad) and corresponding instances for a large number of types.

Learn more »

scalaz-stream

Stream processing scalaz-stream is a streaming I/O library. The design goals are compositionality, expressiveness, resource safety, and speed. The design is meant to supercede or replace older iteratee or iteratee-style libraries.

Learn more »

scodec

Binary serialization. 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 into scalaz and shapeless.

Learn more »

shapeless

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 »

specs2

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

Learn more »

spire

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 »

*-contrib

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 »

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 »

Scala

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 »