1 2 3 4 5 6
foldN e f 0 = e foldN e f (n + 1) = f $ foldN e f n fib = fst . foldN (0, 1) (\ (m, n) -> (n, m + n)) main = print $ take 20 $ map fib [0..]
1
[0,1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181]