「ふつける」ざっと読んだよ

勢いで最後まで読んだ。
書き方はとても丁寧なので、取りあげている題材の実装の意味は理解できると思う。が、説明の割り切りがあっさりしすぎていて少し物足りない。特にモナドのサンプルが圧倒的に少ない。
第三部では、ソースの中にIOモナドとかEitherとかが顔を出すにもかかわらず、モナド解説が全く棚上げされてしまっている。さらに、パーサコンビネータライブラリParsecのサブセットを自力で実装しておきながら、Stateモナドの説明もなし。MyParserをモナド化する部分はまさにStateモナドの実例なので、少しでも言及されていればモナドの理解に丁度よかったのではないかと思うのだけれど。うーむ。
モナドHaskellデザインパターンに相当する(ものだと勝手に思っている)ので*1、確かにちゃんと説明しようとしたらきっちり一冊分くらいのボリュームは必要だろう。入門書につめこむのは無謀ではある。最初からはじめて、Parsecの実装に踏みこんで終るこの本は、素晴しい入門書であることは間違いない。
でも、haskellの一番おいしいとこはモナドなので(強気に断言)、そこを味わいつくさずに止めてしまうのはとてもおしい。まー、入門書なんだからこれを足掛りに「モナドのすべて(http://www.sampou.org/haskell/a-a-monads/html/index.html)」でも読めということかな*2

*1:正確にいうと、さまざまなデザインパターンをたった二つの関数でまとめあげてしまう恐るべきメタパターン

*2:もちろん、http://d.hatena.ne.jp/m-hiyama/20060419/1145432492 もお勧めです