以前「怖いScala」のときに紹介したように、すでに他の人が作ったクラス図が存在したり
http://leifwarner.net/scalaz.svg
また、自動で生成されるクラス図のサイトかなり昔に作ったこともありますが
http://class-diagrams.herokuapp.com/scalaz.MonadPlus.svg
https://github.com/xuwei-k/heroku-class-diagrams
また別のもの作りました。
継承関係を線で結んで表すのもいいけど、いわゆる「ベン図(Venn diagram)」という、
論理和とか論理積を表すときによく使われるような、円が重なっていて集合の関係がわかりやすいやつ使ったらどうかな?と思って、svg-editというオンラインのSVGエディタ使って、地味に作ってた、結構時間かかった(なんて暇人なのでしょうか・・・)
丸と四角が混ざってるのは特に深い意味があるわけではありません。*1
この図のほうが
「BindとApplicativeが重なってる部分がMonad」とか
「(BindとApplicativeに加えて)更にPlusEmptyも重なってる部分がMonadPlus」とか
「Applyは完全にFunctorの中にあるので、Applyだったら必ずFunctor」
とかがわかり易くないですか?どうですか?*2
http://xuwei-k.github.io/scalaz-typeclasses.svg
Scalazのversionは7.1.0-M4*3
Monadと同じkindのものしか載せてない。つまり、EqualとかArrowとかがない。また、Monadのサブクラスとかのそれほど重要じゃないものも一部載せてない