「プログラミング言語の基礎概念」という本が非常にお気に入り

このところScalaで言語を実装してみたりしてたんですが、何をしてたかというと、「プログラミング言語の基礎概念」という本に書いてあることを実装してみてたのです。


この「プログラミング言語の基礎概念」、博多駅のところの紀伊國屋に行ったときにたまたま目に入った本で、薄いし1800円だし、こいつはいいぜと思って買ってみたら、非常によい本でした。
どのくらい気に入ったかというと、毎日布団に持って入って3行読んだら熟睡してしまうという気に入りようです。最後の章に入ったあたりでは、もうこの赤い表紙を見ただけで寝入ってしまうという、快適な睡眠に欠かせないアイテムになっていました。


内容はというと、名前のとおり、プログラミング言語の基礎概念を説明した本です。プログラミング言語の意味論から型理論までがOCamlライクな言語を構築する形で解説されています。
ぼくの知る限りで、日本語の本で型理論について触れた本は他にはないので、とてもありがたい本でした。多相型から型推論まで解説されています。


この本を読むには、ラムダ計算を少し知っておくと楽です。
書籍としてはこの本が型付ラムダまで解説してあるのでいいと思います。

論理と計算のしくみ

論理と計算のしくみ

あとは、この記事を手近な言語で写経するのもいいかと思います。
おとうさん、ぼくにもYコンビネータがわかりましたよ!
それと、ぼくの言語実装は、まだ型の実装まで行っていないので、この本の前半部分だけしか対応しませんが、ある程度参考になるのではないかと思います。
Scalaでパーサーを作ってみる 〜目次〜


プログラミング言語の基礎概念」のあとは「プログラム意味論」という本が待ち構えてて、これはマーケットプレイスのものを買ったのだけど、古本の懐かしい香りで、これまた布団に持って入るだけで快眠できるという、かなりお気に入りの本になっています。もう、赤い表紙ならなんでも寝れるくらいになってきました。Alloyの本とかも良く寝れます。

プログラム意味論 (情報数学講座)

プログラム意味論 (情報数学講座)

これは、領域理論から圏論につながるという、プログラミング言語圏論をつなぐ、ぼくの知ってる中で唯一の本。


もちろんその後は圏論の本が待ってるし、まーなんか先は長いですね。
デスマしてる場合じゃない。