Full laziness

from The Free On-line Dictionary of Computing (8 July 2008)
full laziness

   <functional programming> A transformation, described by
   Wadsworth in 1971, which ensures that subexpressions in a
   function body which do not depend on the function's arguments
   are only evaluated once.  E.g. each time the function

   	f x = x + sqrt 4

   is applied, (sqrt 4) will be evaluated.  Since (sqrt 4) does
   not depend on x, we could transform this to:

   	f x = x + sqrt4
   	sqrt4 = sqrt 4

   We have replaced the dynamically created (sqrt 4) with a
   single shared constant which, in a {graph reduction} system,
   will be evaluated the first time it is needed and then updated
   with its value.

   See also {fully lazy lambda lifting}, {let floating}.

   (1994-11-09)
    

[email protected]