<*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 4is 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 4We 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.

Last updated: 1994-11-09

Try this search on Wikipedia, OneLook, Google

**Nearby terms:**
full-custom « full-duplex « full-duplex Switched Ethernet « **full laziness** » full-motion video » full outer join » fully associative cache

Loading

Copyright Denis Howe 1985