このところScalaで言語を実装してみたりしてたんですが、何をしてたかというと、「プログラミング言語の基礎概念」という本に書いてあることを実装してみてたのです。
この「プログラミング言語の基礎概念」、博多駅のところの紀伊國屋に行ったときにたまたま目に入った本で、薄いし1800円だし、こいつはいいぜと思って買ってみたら、非常によい本でした。
どのくらい気に入ったかというと、毎日布団に持って入って3行読んだら熟睡してしまうという気に入りようです。最後の章に入ったあたりでは、もうこの赤い表紙を見ただけで寝入ってしまうという、快適な睡眠に欠かせないアイテムになっていました。
プログラミング言語の基礎概念 ((ライブラリ情報学コア・テキスト))
- 作者: 五十嵐淳
- 出版社/メーカー: サイエンス社
- 発売日: 2011/07/01
- メディア: 単行本
- 購入: 6人 クリック: 60回
- この商品を含むブログ (12件) を見る
内容はというと、名前のとおり、プログラミング言語の基礎概念を説明した本です。プログラミング言語の意味論から型理論までがOCamlライクな言語を構築する形で解説されています。
ぼくの知る限りで、日本語の本で型理論について触れた本は他にはないので、とてもありがたい本でした。多相型から型推論まで解説されています。
この本を読むには、ラムダ計算を少し知っておくと楽です。
書籍としてはこの本が型付ラムダまで解説してあるのでいいと思います。
- 作者: 萩谷昌己,西崎真也
- 出版社/メーカー: 岩波書店
- 発売日: 2007/06/27
- メディア: 単行本
- 購入: 14人 クリック: 442回
- この商品を含むブログ (36件) を見る
あとは、この記事を手近な言語で写経するのもいいかと思います。
おとうさん、ぼくにもYコンビネータがわかりましたよ!
それと、ぼくの言語実装は、まだ型の実装まで行っていないので、この本の前半部分だけしか対応しませんが、ある程度参考になるのではないかと思います。
Scalaでパーサーを作ってみる 〜目次〜
「プログラミング言語の基礎概念」のあとは「プログラム意味論」という本が待ち構えてて、これはマーケットプレイスのものを買ったのだけど、古本の懐かしい香りで、これまた布団に持って入るだけで快眠できるという、かなりお気に入りの本になっています。もう、赤い表紙ならなんでも寝れるくらいになってきました。Alloyの本とかも良く寝れます。
- 作者: 横内寛文
- 出版社/メーカー: 共立出版
- 発売日: 1994/06/01
- メディア: 単行本
- 購入: 2人 クリック: 57回
- この商品を含むブログ (17件) を見る
これは、領域理論から圏論につながるという、プログラミング言語と圏論をつなぐ、ぼくの知ってる中で唯一の本。
もちろんその後は圏論の本が待ってるし、まーなんか先は長いですね。
デスマしてる場合じゃない。