
16 Oct
2009
16 Oct
'09
1:47 p.m.
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.