
On Feb 4, 2008 9:11 PM, Philippa Cowderoy
It's a necessary part of how Parsec works - both the Consumed and the Reply depend on the input stream, which is now generated from within the base monad. The Consumed result is evaluated in advance of the Reply, so keeping the computations separate preserves an important piece of laziness as m could be a strict monad.
For now it's probably a good idea to look for issues that're visible to client code? Turning Parsec into a transformer was long considered an invitation to serious confusion, so it's not surprising that a few things look odd and a few others can be generalised in ways that aren't immediately obvious.
After I determined that the pre-release worked fine for the biggest set of parsers I have, I had to find other things to bring up :-) -Antoine