traceM and traceShowM

pepe mnislaih at gmail.com
Fri Oct 16 09:47:34 EDT 2009


True,

But debugging Haskell code is a confusing experience already.
The behaviour of these combinators can be counterintuitive.
They don't work for *any* do-block as you put it in your first
email.
Getting them into the base package may in effect
end up driving many Haskell programmers even more confused
when trying to debug some Haskell code.

In any case the documentation should clearly state that
they only work for strict monads and not for any monad.

On 16/10/2009, at 15:37, Martijn van Steenbergen wrote:

> pepe wrote:
>> But traceM will only work on non-lazy monads, such as Either or  
>> Maybe.
>
> That's exactly what you expect from a call to trace: if it doesn't  
> get evaluated, its message isn't output.
>
> Martijn.
>



More information about the Libraries mailing list