独習 Scalaz — 独習 Scalaz 気がついたらある程度読めるようになっていた scalaz/exampleってディレクトリあったの知らなかった 例えばStateTUsage.scalaではフィボナッチ数列生成をStateモナド使ってやってる例がある 型クラスとかデータ構造とか Semigroup : 二項演算で結合則 (scalazなら|+|が二項演算) Monoid: Semigroup + 単位元(zero) 単位元の左右どちらにappendしても同じ値 Functor -> fmap (map) F map id == F で元に戻る 関数f,gについて、F.map(f.compose(g)) == F.map(g).map(f) ScalazではFunctorLaw+scalacheck-bindingでテスト出来る Applicative -> pure, ap<*>