Cellular Automata in Haskell