Practical Scalaz: Using One of Scala's Most Controversial Libraries

Speaker: 
Jordan West
Bio: 
I am a backend engineer at StackMob (www.stackmob.com) using Scala daily to deliver high-quality, scalable development and production environments for developers building mobile applications using our service. I enjoy using more than one language at all times and am also developing in Ruby, Erlang, Objective-C and Haskell, currently. @_jrwest on Twitter, jrwest on GitHub
Type: 
Technical Talk
Type: 
Experience Report

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.