練習問題 1.5.1

フィボナッチ数f0,f1,… は,n ≧ 0であるようなすべてのnに対して,f0 = 0, f1 = 1, fn+2 = fn+1 + fnという規則で定義する. 整数nをとり,fnを返す関数
fib
の定義を与えよ.



{-# LANGUAGE NPlusKPatterns #-}

fib :: Integer -> Integer
fib 0     = 0
fib 1     = 1
fib (n+2) = fib (n+1) + fib n
N.B. スクリプトファイル先頭の
{-# LANGUAGE NPlusKPatterns #-}
n+k
パターンを使うための言語拡張プラグマである. これのかわりに
{-# LANGUAGE Haskell98 #-}
でもよい.