francoara / purity

A set of FP goodies to help you create pure, type-safe code easily in Scala

Website GitHub


Build Status Join the chat at - Columns and their card count Maven Central

All documentation is available on the Purity website, as well as the api docs.


Purity is a small library that provides abstractions that enable programmers to write 100% pure fp programs in Scala.

Purity's objective is to provide an easy to use and easy to understand api, so that any programmer, independently of his/her level of knowledge in fp or math, may be able to design and build complex applications that benefit from the properties of referentially transparent, typeful code. Such objective is achieved through delivering abstractions that solve every day program staple requirements, like dependency injection, failure handling or modular design.

Purity's abstractions design is focused on using Scala's type system to help you create correct programs which parts are easy to replace, built on top of Cats, they are designed to be the glue between the business domain logic, and all of our beloved category theory concepts.

Getting Started

Purity uses cats-core 1.0.0 and cats-effect 0.7, it is published to Maven Central, you can just add the following to your build.sbt file:

libraryDependencies += "com.francoara" %% "purity-core" % "0.2.0"

Copyright and license

All code is available to you under the MIT license, available here.