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)
Nearby terms:
full-custom « full-duplex « full-duplex Switched
Ethernet «
full laziness » full-motion video » full outer
join » fully associative cache
|