So I thought about it tonight and figured out that in Haskell I can generate the Fibonacci sequence using the definition
let l = [1,1] ++ zipWith (+) l (tail l)
If you type this at ghci you can say "take 20 l" and get
[1,1,2,3,5,8,13,21,34,55,89,144,233,377,610,987,1597,2584,4181,6765]
Laziness weirds programming. (B)