let t = 関数型プログラミング言語ML 2
■ このスレッドは過去ログ倉庫に格納されています
0575デフォルトの名無しさん
NGNGパイプライン的に計算されるから、中間リストや中間データ構造が
大きくなって困ることがない。
無限に続くとみなすと都合のいいデータ構造やアルゴリズムが
意外にたくさんある。テキストも処理もそう。
再帰的なものは無限リストにしといて必要なところだけとってくる
ように書くと綺麗でしかもリスト要素がキャッシュになるから速い。
Lazyなおかげでmutableな変数の必要性がなくなることもある。
# pure + strict が無い理由?
> するよりも、デフォルトは eager で lazy にしたいところだけ明示する
そういう議論はたまにHaskell mailing listでもあるけど、
strictが途中に一つでもあると駄目だから、そうするとあまり使えない、
というのが大方のHaskellerの意見かな。
実際おれも不満にはおもわないし。害よりも便利なことの方が多い。
# ちなみに上の n は 600,000 ぐらい(ghci)。
# 600,000回もネストできれば実際にはあまり困らない。
# オプションで増やすこともできる。
■ このスレッドは過去ログ倉庫に格納されています