Functional Programming in Scheme The Order of Evaluation

Lazy evaluation

We will now deal with a practical variant of normal-order reduction

Lazy evaluation is an implementation of normal-order reduction which avoids repeated calculation
of subexpressions

An illustration of lazy evaluation of a Scheme expression. Notice, that Scheme
does not evaluate the expression in this way. Scheme uses applicative-order reduction.