I'm trying to write a simple parser in Haskell using Parsec but my input "Hello World" is never correctly parsed.
My code looks like this:
parser = p1 <|> p2
p1 = string "Hello"
p2 = string "Hello World"
If I run it I get the error unexpected whitespace
p1already consumes the tokens "Hello" and thereforep2instantly fails because the next token is whitespace.You could use something like
tryto reset the consumed tokens.