Brainfuck interpreter in Haskell

Since brainfuck is a pretty cool language to write an interpreter for, and Haskell is especially nice to write interpreters in, I combined those two. I decided not to use anything advanced like Monads or Functors, or even complicated datastructures, since my understanding of them in Haskell is limited.

The code can be found here. It's basically a giant recursive state machine, probably not the best way to do this.

It can be run in an interpreter (like Hugs or GHCI) like this:

BF> doBF "++++++++++[>+++++++>++++++++++>+++>+<
          <<<-]>++.>+.+++++++..+++.>++.<<++++++
          +++++++++.>.+++.------.--------.>+.>."
          ""
"Hello World!\n"