You are here: irt.org | FOLDOC | 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 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.

(1994-11-09)

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

FOLDOC, Topics, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, ?, ALL