GHCI has a debugger. You can step into an expression and watch as Haskell evaluates it, in full lazy order.
Even if you understand lazy evaluation in theory, I recommend taking some non-trivial (but not too large) expression and :step'ing through the whole evaluation sometime, just to train your intuition.
Comments
GHCI has a debugger. You can step into an expression and watch as Haskell evaluates it, in full lazy order.
Even if you understand lazy evaluation in theory, I recommend taking some non-trivial (but not too large) expression and :step'ing through the whole evaluation sometime, just to train your intuition.