Lecture overview -- Keyboard shortcut: 'u'  Previous page: Normal forms -- Keyboard shortcut: 'p'  Next page: An example of normal versus applicative evaluation -- Keyboard shortcut: 'n'  Lecture notes - all slides and notes together  slide -- Keyboard shortcut: 't'  Help page about these notes  Alphabetic index  Course home  Lecture 4 - Page 14 : 27
Programming Paradigms
Evaluation Order and Infinite Lists
The ordering of reductions

Given a complex expression, there are many different orderings of the applicable reductions

Using normal-order reduction, the first reduction to perform is the one at the outer level of the expression (the leftmost reduction first).

Using applicative-order reduction, the first reduction to perform is the inner leftmost reduction.

  • Normal-order reduction represents evaluation by need

  • Applicative-order reduction evaluates all constituent expressions, some of which are unnecessary or perhaps even harmful.

    • As such, there is often a need to control the evaluation process with special forms that use non-standard evaluation strategies