本書は題名通り、関数型言語の実装方法について述べた教科書である。私はソフトウェア開発を生業とし、特にコンパイラ開発を専門とするが、Lispが流行った当時、私が属していた研究所で新しい関数型言語を開発する事になり、本書を輪講した。思い出の書である。
本書ではMirandaという関数型言語をソース言語として記述されているが、勿論一般の関数型言語にも適用できる。私自身はMirandaを知らなかったので、これをLispに置き換えて読んだ。まずはラムダ式について説明がなされる。これは当然だ。続いて、ソース言語からラムダ式への変換方式が説明される。そして、このラムダ式を"評価"する事が通常の言語でのコンパイルに当たる。本書では、評価は「lazy graph reduction」というポリシーで行なわれる。ここで、グラフと言う言葉が出て来るのは、ラムダ式をグラフのように図示しているからである。「lazy」は遅延評価の「lazy」である。この他、効率を考えたラムダ式(グラフ)の変換、ポリモルフィズムを考慮した型チェック、ガベージ・コレクションを含むメモリ管理、ラムダ式を実行するG-マシンと言う仮想マシンとその上での実行方式、「graph reduction」の様々な手法など、実装者にとっては至れり尽くせりの内容である。
まさに関数型言語の実装の教科書と言って良い、充実した内容の名著。