You are here: irt.org | FOLDOC | let floating

<*programming*> A program transformation used in functional programming to implement full laziness. E.g. the function

f x = x + sqrt 4can be expressed as

f x = let t = sqrt 4 in x + tbut note that t does not depend on the argument x so we can automatically transform this to

t = sqrt 4 f x = x + tMaking 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.

(1997-07-09)

Nearby terms: LERP « less than « LessTif « **let floating** » letterbomb » level 1 cache » level 2 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