Week 9: Notes

Here are the recursive list examples we saw in the lecture.

list of all integers

allInts = 1 : [ i + 1 | i <- allInts ]

list of all Fibonacci numbers

fibs = 1 : 1 : [ i + j | (i, j) <- fibs `zip` (tail fibs) ]

list of all prime numbers

primes = sieve [2 ..]
  where sieve (p : ns) = p : sieve [i | i <- ns, i `mod` p /= 0]