Scalaz is a highly controversial library in the Scala community often used to argue that Scala has a high learning curve and is impractical. Even those who do not feel this way find it hard to use Scalaz practically in their day jobs. Over the past 6 to 8 months Scalaz has become so prominent in our architecture that every incoming request to our service leverages Scalaz in some way. Our new engineers get their hands dirty with Scalaz on the first day, even the engineers who have not written a line of Scala before.
The talk will explore how and why we began using Scalaz, the benefits gained from adopting it, and why your codebase could benefit from it too. This talk will focus on the road we travelled to adopt, integrate and teach the library within our organization. It will also examine the practical parts of the library that we find most useful, while intentionally omitting discussion around portions that we have not yet put to use in production. In addition, it will briefly explore libraries we have used and are writing ourselves that are built on Scalaz. We will also discuss the transformation that is happening with Scalaz 7, why we still use Scalaz 6, and what portions of Scalaz 7 we look forward to.