これはかなりナイスな本です。あんま細かいところに陥らずに関数型プログラミングの思考みたいなものが学べるようになってる。
モナドに関しても、「モナドとは?」から入るわけではなくて、8章のパーサー、9章の対話型プログラム、そして10章の型に至る過程で自然に出てくる。
個人的には4,5章の関数とリスト内包のとこと8-11章が面白かった。逆に最終章の13章はちょっとよくわからなかった。
- 相互再帰(Ocamlでやった)
- dataによる型宣言では構成子が引数をとることができる
- 構成子関数は評価済みであり、それ以上簡約できない
- モナドという概念は一般化された型
- 最内簡約と最外簡約はそれぞれ値渡しと名前渡し
- 遅延評価とはポインタによる共有を用いた名前渡し
特に最後の二つは、新鮮だった。
あとは暇をみつけて問題解いてく