Translation

powered by

Computing (FOLDOC) dictionary

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.