Haskellで愚直にフィボナッチ数

真面目じゃない方のブログでやっているプログラミング学び直し日記にて、蟻本の問題をHaskellで解いてゆくシリーズをしている。その過程で、30ページのフィボナッチ数を求める話をHaskellで書いた。
これを "コード見なくとも一瞬で書けるようになった" だけでもちょっとだけ成長感じたんだけど。いいよね。

fib :: Int -> Int
fib 0 = 0
fib 1 = 1

fib x = fib (x-2) + fib (x-1)

main :: IO ()
main = do
    x <- readLn :: IO Int
    print $ fib x

なお、フィボナッチ数列を出力するサンプルはこちらにあります。