length [] = 0
length (_:xs) = 1 + length xsEvaluation Trace
length [42^1234, 42^2345, 42^3456]
= length thunk{[42^1234, 42^2345, 42^3456]}
= length (_ : thunk{[42^2345, 42^3456]})
= 1 + length thunk{[42^2345, 42^3456]}
= 1 + length (_ : thunk{[42^3456]})
= 1 + 1 + length thunk{[42^3456]}
= 1 + 1 + length (_ : thunk{[]})
= 1 + 1 + 1 + length (thunk{[]})
= 1 + 1 + 1 + length ([])
= 1 + 1 + 1 + 0
= 3Lazy Evaluation Fibonacci Series
fibs = 0 : 1 : zipWith (+) fibs (tail fibs)