1. 初めに 遅延評価 (lazy evaluation) とは、値が必要になるまで計算しないという計算方法です。 この方法の利点はデータに繰り返し構造を自然に組み込むことができ、 無限を簡潔に表現できることです。これによって、プログラムのモジュール化が促進され、 プログラムが美しくなります。遅延評価の利点については なぜ関数プログラムは重要かを見てください。 全体的に遅延評価を取り入れた言語としては Haskell が有名ですが、 Scheme も部分的に遅延評価を取り入れています。 2. 遅延評価にかかわる関数 R5RS では遅延評価にかかわる関数として次のものが用意されています。 評価法が指示されているが実際の計算が行われていない中間状態をプロミスといい、 プロミスを強制 (force)することで値が計算されます。 (delay proc) proc をプロミスにします。 (prom