Eager evaluation
From Wikipedia, the free encyclopedia
|
|
This article does not cite any references or sources. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed. (August 2008) |
|
|
This article or section has multiple issues. Please help improve the article or discuss these issues on the talk page.
|
| Programming evaluation |
|---|
|
Eager |
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
- Graph reduction
- Lazy evaluation
- Lazy evaluation#Controlling eagerness in lazy languages
- Evaluation strategy
| This computer science article is a stub. You can help Wikipedia by expanding it. |