2007-08-27から1日間の記事一覧

OCaml一人勉強会 - Lazy

さて任意の式 expr の遅延オブジェクトを返すような手続き lazy(expr) は書けるかというと、残念ながら書けません。引数を式のままとるような関数が OCaml では書けないためです。 幸いなことに OCaml には始めから lazy という式文法が存在し、それを使うこ…

OCaml一人勉強会 - 遅延評価

関数型といえば遅延評価?そりゃハスなんとかのことかい?(Clean のこともたまには思い出してあげてください)とかまあそれは置いといて。 遅延評価(lazy evaluation)は、値が必要になるまで計算を行わず、実際に値が必要になった時に計算を行う手法です。 …

OCaml一人勉強会 - 遅延ストリーム

前々回に遅延評価の例として無限リストを出しましたが、今回は実際にフィボナッチ数列のリストを実装してみましょう。 まずは lazy を使わずに実装してみましょう。 始めに、無限リストを表すデータ構造を考えます。当然そのままリストを使うわけにはいきま…