Eager evaluation

From Wikipedia, the free encyclopedia

  (Redirected from Strict evaluation)
Jump to: navigation, search
Programming
evaluation

Eager
Lazy
Partial
Remote
Short-circuit
Strategy

Eager evaluation or greedy evaluation is the evaluation strategy in most traditional programming languages.

In eager evaluation an expression is evaluated as soon as it gets bound to a variable. This is generally more efficient than lazy evaluation as a low-level strategy in simple programming languages, as it removes the need to build and manage intermediate data structures representing unevaluated expressions.

The main advantage of eager evaluation is in memory and speed. For example, if the following Basic code was used:

x = 5 + 3 * (1 + 5 ^ 2)
PRINT x
PRINT x + 2

then not only would eager evaluation save space (as the original expression would be stored as 83, rather than the expression itself), but also the expression would only have to be evaluated once, as opposed to being worked out once for the line "PRINT x" and again for the line "PRINT x + 2". Note that for many lazily-evaluated programming languages this is not actually the case, due to the effects of memoization.

[edit] See also