unix-y game of life implemented in Haskell