a haskell implementation of game 2048