この記事は Scalaz Advent Calendar 2012 の4日目です。 どこかで Scalaz7 の package や class/trait の命名規則について書いてというのを見た気がするのでその辺を書いてみようと思います。 ちなみにあくまで現状のソースコードを見た上での推測で、MLなり何なりで裏取った情報ではない事を先に明記しておきます。内容に誤りなどありましたらぜひぜひご指摘ください。 Suffix無し 主に scalaz パッケージ直下にある、Suffix のついていないクラス/トレイトは大きく分けて2種類に分類されます。 一つが Scalaz が提供する型クラス。Functor とか Foldable とかそういったモノですね。あくまで型クラスの定義であって、型クラスのインスタンスではありません。 もう一つが Scalaz が提供するデータ構造。Validation