関数型プログラミング言語Haskell Part3
at TECH
777:デフォルトの名無しさん
05/11/28 23:57:12
>>774
標準 Prelude では sum とか product の fold は積極評価のオペレータを
導入して実装されてるんじゃなかったっけ.
>>776
リストを作って壊しているとは限らない.というか普通はそんなことしてない.
product n = foldl (*) 1 (take n (enumFrom 1)) で定義したとき,
product n
= foldl (*) 1 (take n (enumFrom 1))
= foldl (*) 1 (take (n-1) (enumFrom 2))
= foldl (*) 2 (take (n-2) (enumFrom 3))
...
= foldl (*) n! (take 0 (enumFrom n))
= foldl (*) n! []
= n!
みたいに評価されるから,陽に空リスト以外のリストを作る部分は無い.
次ページ続きを表示1を表示最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5386日前に更新/259 KB
担当:undef