On Fri, Nov 27, 2009 at 1:40 PM, Ben Franksen wrote:
> Thanks, you are confirming what I suspected. I just wasn't sure that I
> didn't do something stupid that could easily be fixed.
Well, lets unwrap your newtype into the actual functions:
Eval (ErrorT String (StateT Env (Writer [String])) a)
Ryan Ingram wrote:
> The problem is that ErrorT makes any argument to mdo *much* more
> strict, and therefore much more likely to loop.
>
> This is because each action needs to know whether the previous action
> was successful before it can continue.
Thanks, you are confirming what I suspected. I