TaPL(型システム入門 -プログラミング言語と型の理論-) は型システムについて体系的に学べる教科書です。 友人から「型周りちゃんと勉強したいならこれ読むと良いよ〜」と勧められ読んでいるのですが、正直何もわからんという状態なのでサンプルコード(実装)から本文を読み解いています。 この本にはサポートページが存在しており、implementations というセクションからサンプルコードを DL することができます。 ただしこのサンプルコードをそのまま読んでいくのは少し辛いところがあったのでそれを読みやすくできるようにするのが本記事の趣旨です。 TaPL のサンプルコードがやっていること 本文では構文の評価規則や型付け規則を実装していく例が乗っているのですが、配布されるサンプルコードでやっていることはコンパイラの自作です。 評価可能な形に変換したり、それをテストしたりするわけなので、字句解析