brainfuck interpreter written in haskell