let t = 関数型プログラミング言語ML 2
■ このスレッドは過去ログ倉庫に格納されています
0570デフォルトの名無しさん
NGNGSchemeだと、
> (define a (delay (write "a"))
って、やるとなんも表示されなくて、次に、
> (force a)
とやると、初めて、 "a"が表示される。
Ocamlでも、Lazyモジュールで同じようなことができる。
lazyな評価のメリットとしては、記述力が高いとか、必要最小限の
計算しかしなくてすむ、とかいうのがあげられる。
でも、毎回closureを作らなきゃいけないから、実行速度が遅くなるという
欠点もある。 一部の計算をeagerに行うように最適化するなど、コンパイラが
頑張ってどうにかする必要がある。
推測混じり。
■ このスレッドは過去ログ倉庫に格納されています