add a parser for parsing sudoku puzzles in Haskell