Fibonacci number (using the infinite list of Fibonacci numbers)
-- Fibonacci number
-- source: https://wiki.haskell.org/The_Fibonacci_sequence#Using_the_infinite_list_of_Fibonacci_numbers
fibonacci_nums = 0 : 1 : zipWith (+) fibonacci_nums (tail fibonacci_nums)
fib = (!!) fibonacci_nums
main = print $ fib 70000
-- the fibonacci_nums can be write as:
-- fibonacci_nums = 0 : 1 : [x+y | ~(x,y) <- zip fibonacci_nums (tail fibonacci_nums)]INFO