関数型プログラミング言語Haskell Part15
■ このスレッドは過去ログ倉庫に格納されています
0572497, 571
2011/08/31(水) 00:15:24.43反応がないですね・・・
ソースの一番最後に書かれてるように、
メモ化させたい関数を Data.MemoTrie.memo 関数に渡し、
返ってきた関数を元の関数と全く同じように使えばいいです
たとえば、>>432 や >>442 のプログラムだと、
sumX, sumX' :: Integer -> Integer
sumX x = sum [1..x]
sumX' = memo sumX
として、2度記述してある sum [1..100000] の代わりに
2度 sumX 100000 と記述すればOK
sumX の引数の値を大きくすれば効果がよくわかります
本当に実行時間が半分になります
■ このスレッドは過去ログ倉庫に格納されています