next up previous
Next: 9.1 遅延評価の実現 Up: ソフトウェア第三 講義資料 クロージャ,スコープ,遅延評価,オブジェクト,立体モデル Previous: 8.3 2引数以上の関数の場合

9 遅延評価(lazy evaluation)

遅延評価または遅延計算というのは,データが必要になった時に そのデータを求める計算をするということを行なう手法である. この遅延評価の機構は,無限の要素をもつデータを表現する ことが可能である.つまり,無限の要素をもつデータを全部作って 記述してしまうとLispはそれを表示し続けて無限ループになってしまう. そこで,そのデータをすべて計算してしまった形で表現するのではなく, まだ計算をしない形のデータとして保存することを行う. その保存形式にクロージャを用いる. つまり,データを求める手続きでそのデータを表現するわけである. このようなデータは,ストリームと呼ばれたり,パイプと 呼ばれたり,無限にデータを生成できるためgeneratorと呼ばれたりする.



generated through LaTeX2HTML. M.Inaba 平成18年5月7日