Haskell + OpenGL + Conway's Game of Life = Fun(ctional)!