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)