eager evaluation

from The Free On-line Dictionary of Computing (8 July 2008)
eager evaluation

   Any {evaluation strategy} where evaluation of some or all
   function arguments is started before their value is required.
   A typical example is {call-by-value}, where all arguments are
   passed evaluated.  The opposite of eager evaluation is
   {call-by-need} where evaluation of an argument is only started
   when it is required.

   The term "{speculative evaluation}" is very close in meaning
   to eager evaluation but is applied mostly to parallel
   architectures whereas eager evaluation is used of both
   sequential and parallel evaluators.

   Eager evaluation does not specify exactly when argument
   evaluation takes place - it might be done fully speculatively
   (all {redex}es in the program reduced in parallel) or may be
   done by the caller just before the function is entered.

   The term "eager evaluation" was invented by Carl Hewitt and
   Henry Baker <[email protected]> and used in their paper ["The
   Incremental Garbage Collection of Processes", Sigplan Notices,
   Aug 1977.
   (ftp://ftp.netcom.com/pub/hb/hbaker/Futures.html)].  It was
   named after their "eager beaver" evaluator.

   See also {conservative evaluation}, {lenient evaluation},
   {strict evaluation}.

   (1994-12-22)
    

[email protected]