2007-08-27から1日間の記事一覧
さて任意の式 expr の遅延オブジェクトを返すような手続き lazy(expr) は書けるかというと、残念ながら書けません。引数を式のままとるような関数が OCaml では書けないためです。 幸いなことに OCaml には始めから lazy という式文法が存在し、それを使うこ…
関数型といえば遅延評価?そりゃハスなんとかのことかい?(Clean のこともたまには思い出してあげてください)とかまあそれは置いといて。 遅延評価(lazy evaluation)は、値が必要になるまで計算を行わず、実際に値が必要になった時に計算を行う手法です。 …
前々回に遅延評価の例として無限リストを出しましたが、今回は実際にフィボナッチ数列のリストを実装してみましょう。 まずは lazy を使わずに実装してみましょう。 始めに、無限リストを表すデータ構造を考えます。当然そのままリストを使うわけにはいきま…