|
|
||
print (tarai 20 10 5) -> print (if 20 <= 10 then 10 else (tarai (tarai (20-1) 10 5) (tarai (10-1) 5 20) (tarai (5-1) 20 10) -> print (if False then 10 else (tarai (tarai (20-1) 10 5) (tarai (10-1) 5 20) (tarai (5-1) 20 10) -> print (tarai (tarai (20-1) 10 5) (tarai (10-1) 5 20) (tarai (5-1) 20 10) -> print (if (tarai (20-1) 10 5) <= (tarai (10-1) 5 20) then (tarai (10-1) 5 20) else tarai ( tarai ( (tarai (20-1) 10 5)-1) (..) (..) ) (tarai (..) (..) (..)) (tarai (..) (..) (..))
とここまで書いて
haskellの計算時間が圧倒的に早いのは、グラフ簡約だからではないかと考察
reductionの様子が観察できるモードがあれば楽しいのに