let floating

from The Free On-line Dictionary of Computing (8 July 2008)
let floating

   <programming> A {program transformation} used in {functional
   programming} to implement {full laziness}.  E.g. the function

   	f x = x + sqrt 4

   can be expressed as

   	f x = let t = sqrt 4 in x + t

   but note that t does not depend on the argument x so we can
   automatically transform this to

   	t = sqrt 4
   	f x = x + t

   Making t into a global constant which need only be evaluated
   at most once, rather than every time f is called.  The general
   idea is to float each subexpression as far out (toward the
   top level) as possible to maximise sharing.

   (1997-07-09)
    

[email protected]