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.



< Previous Terms Terms Containing let floating Next Terms >
Leo
LER
LERP
less than
LessTif
full laziness
letterbomb
level 1 cache
level 2 cache
LEVEL5 OBJECT
level one cache