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.
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.