今回はチャプター4の最初の第1節について書く。 3imp 未読の人には何が何やらわからない内容だと思う。 読んだことがある人は間違い探しでもしながら読んでもらえればと思う。 チャプター4 はスタックベースモデルの章だ。 ヒープベースモデルでは変数ルックアップと関数呼び出しのコストが大きい。一方でスタックベース言語の代表みたいなCなんかは、 コールフレームや環境にヒープを必要としないのでそのへんが速いようだ。でも(定義場所からリターンした後も使えるような本物の)ファーストクラス関数、 TCO, 継続などをスタックベースで実装するのは簡単ではない。(Cなどでそういった機能が限定的なのもそれが理由だろう) そこでチャプター4ではまずこの辺のサポートをしないSchemeライクな言語をスタックベースで実装し、最終的にこれらの機能のサポートを目指す。 つまり 4.1節で考えるのは、 TCO, 継続はな