I've recently been learning haskell, and I understand the concept of lazy evaluation in general. One thing that I've discovered though is that it's often difficult to reason about exactly when an expression will be evaluated.
Is there a good way for getting information about precisely what is going on in terms of evaluation? Ideally I'd like to see something like a stack trace or a dependency list that shows when an expression needed to be evaluated, and what other expressions it depended on had to be evaluated.
See here for an example of GHCi debugger session.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With