Lazy vs. strict vs. lenient?

Strict aliasing and std::vector

User Error

Sieving Primes

composites (p:ps) = cs
    where cs = (p*p) : merge (map (p*) (merge ps cs)) (composites ps)

merge (x:xs) (y:ys) | xy           = diff (x:xs) ys

Visualizing collisions

Never do this

Python closures and stack frames