
Daniel Fischer wrote:
Can't be exactly that, though because then removing sat (== Reserved ")") shouldn't help. Anyway, I need at least the failure message, better the complete code, to diagnose.
I've attached the complete code.
E. Thanks, though a plaintext file would've been better. It's pretty much what I came up with myself, the odd thing is that I can't reproduce your behaviour, whether sat (== Reserved ")") is present or not doesn't make a difference. Which version of GHC and parsec are you using? (I
Am Donnerstag, 26. Juni 2008 23:22 schrieb Eric: tried with 6.8.3 & parsec-2.1.0.1, 6.8.2 & parsec-2.1.0.0 and 6.6.1 & parsec-2.0, all give the same results, *Eric2> parseall . scanall $ "(_ineg_ 0)" *** Exception: (line 1, column 1):unknown parse error with or without the second sat). However, the problem is indeed that upon failure (sat p) returns a Consumed value (and removes the token from the input), make it sat p = try $ do (t,pos) <- item if p t then return (t,pos) else pzero and you're all set (you don't need the try's in atom, then). Cheers, Daniel