Cats
ScalaCats関数型プログラミング
型クラス
Cats で実装されている型クラスをメモしつつ学んでいく。昔、scalaz を触ったことがあるが scalaz から Cats に分裂した時期くらいから Scala を書かなくなってしまったので Cats をちゃんと触るのは初めてだ。
それぞれの型クラスの関係は以下のような図になっているらしい。当面の目標はそれぞれの型クラスの定義とできることを一通り理解する。この図は CC-BY-SA 4.0 なので引用させてもらった。
図に書かれているようにハイライトされている型クラスから学習することが推奨されているのでそれに従って学んでいこう。