next up previous
Next: 9.1 遅延評価の実現 Up: ソフトウェア特論 講義資料 クロージャ,オブジェクト指向 Previous: 8.3 2引数以上の関数の場合

9 遅延評価(lazy evaluation)

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



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