Re:Why I prefer scheme to Haskell
by sb on Monday April 09, 2012 @10:36AM
(#3817109)
Assuming that Debug.Trace offers similar functionality as "observe" does, I have to briefly mention that this tracing might not be overly helpful, precisely because of the lacking control over evaluation order, as you write later on. I had to write a parser using both, combinatoric and monadic style, and debugging was a major turn off because I could not easily see what went wrong (though I seem to remember that using observe the ouptut was reverse to actual program flow, at least the one I have in my head.)
[ Parent
| on HN ]
I usually use `trace` like so:
f _ _ _ | trace "print something profound" False = undefined
f normal arguments here = ...
That way the trace output will be printed whenever the function is evaluated, which typically mimics a lexical call stack unless you use laziness in some particularly interesting way.