Scalaz は Scala 上で型クラスを利用するためのライブラリです。
使えると便利なのですが、ライトに使いたい人向けにどうやって使えばいいか解説する記事が少ないのでちょっと書いてみます。
import Scalaz._ はダメ
Scalaz の使い方を検索すると、多くの記事に
import scalaz._
import Scalaz._
をファイル先頭に記述すると書いてありますが、これはやってはいけません。
特に IntelliJ などを使っている人は重すぎて辛くなります。
Scalaz は機能ごとに import できるので、それを使うようにしましょう。
import のしかた
Scalaz で import する時は、どの型クラスのどのインスタンスを使うかをそれぞれ明示します。
例えば Monad 型クラスのインスタンスとして List を使いたい場合、
import scalaz._
import syntax.monad._
import std.list._
という具合にします。
とりあえず使ってみる
Scalaz は少なからず趣味が入ったライブラリですが、中には痒いところに手が届く絶妙に便利な関数があったりします。
個人的なお勧めは multiply と traverse です。
こんな感じで使えます。
import scalaz._
import syntax.monoid._
import std.string._
"hello".multiply(3) // hellohellohello
import scalaz._
import syntax.traverse._
import std.list._
import std.option._
// stoi : String => Option[Int]
// 与えられた英語の数字を数値に変換する関数とする
List("one", "two", "three").traverse(stoi) // Some(List(1, 2, 3))
List("one", "two", "hello").traverse(stoi) // None
小難しい型クラスの勉強はさておき、とりあえず使ってみると良いと思います。