
Jules Bean wrote:
Andrew Coppin wrote:
Essentially I want to run a parser on top of a parser, and I think maybe this is the way to do it.
I doubt monad transformers are the answer.
I imagine you just want to one run parser over the result of the previous, which is just function composition, modulo a sensible way of handling errors.
If you give more details on what you're trying, people may have helpful insights. Or not :)
Yeah, running one parser on top of another isn't inherently hard. The *hard* thing is that I want to stack several parsers on top of each other, and *change* that stack at various points in the parsing. After many hours of trying, I did eventually get working code. But *damn* it's complicated! (Especially the type signatures.) Hopefully I'll find a way to simplify it gradually... As for asking here... I did, and nobody had anything interesting to say. :-(