day 0 

I never set out to do a ”(you can) learn Scalaz in X days.” day 1 was written on Auguest 31, 2012 while Scalaz 7 was in milestone 7. Then day 2 was written the next day, and so on. It’s a web log of ”(me) learning Scalaz.” As such, it’s terse and minimal. Some of the days, I spent more time reading the book and trying code than writing the post.

Before we dive into the details, today I’m going to try a prequel to ease you in. Feel free to skip this part and come back later.

Intro to Scalaz 

There have been several Scalaz intros, but the best I’ve seen is Scalaz talk by Nick Partridge given at Melbourne Scala Users Group on March 22, 2010:

I’m going to borrow some material from it.

Scalaz consists of three parts:

  1. New datatypes (Validation, NonEmptyList, etc)
  2. Extensions to standard classes (OptionOps, ListOps, etc)
  3. Implementation of every single general functions you need (ad-hoc polymorphism, traits + implicits)