This is an illustrated document about lazy evaluation in Haskell
Here is: Lazy evaluation illustrated for Haskell divers (PDF).
- Introduction
- Basic mental models
- Lazy evaluation
- Simple questions
- Expressions
- Expression and value
- Expressions in Haskell
- Classification by values and forms
- WHNF
- Internal representation of expressions
- Constructor
- Thunk
- Uniform representation
- WHNF
- let, case expression
- Evaluation
- Evaluation strategies
- Evaluation in Haskell (GHC)
- Examples of evaluation steps
- Examples of evaluations
- Controlling the evaluation
- Implementation of evaluator
- Lazy graph reduction
- STG-machine
- Semantics
- Bottom
- Strict/Non-strict
- Lifted and boxed types
- Strictness analysis
- Sequential order
- Appendix
- References