n 番目のフィボナッチ数を計算するためのアルゴリズムがあります。Python では次のように表されます。
def fib(n):
if n == 0:
return 1
if n == 1:
return 1
else:
return fib(n-1) + fib(n-2)
そしてHaskellでは:
fib :: Integer -> Integer
fib 0 = 1
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
私は Haskell がより速く、またはほぼ同時に評価されることを期待していましたが、n=40 などの上記の数値を使用すると、Python コードははるかに (~x3) 速く評価されます。私は GHCi と Ipython を使用していますが、違いがあるとは思いませんでした。