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.

< Previous Terms Terms Containing full laziness Next Terms >
full-duplex Switched Ethernet
curried function
fully lazy lambda lifting
lambda lifting
lazy evaluation
let floating
full-motion video
full outer join
fully associative cache
Fully Automated Compiling Technique
fully lazy lambda lifting