# 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.

See also fully lazy lambda lifting, let floating.

(1994-11-09)

Tagged: f

Read Also:

- Full-length
[foo l-lengkth, -length] /ˈfʊlˈlɛŋkθ, -ˈlɛŋθ/ adjective 1. of standard or customary length: a full-length movie. 2. showing or accommodating the full length or height of the human body: a full-length mirror. noun (modifier) 1. extending to or showing the complete length: a full-length mirror 2. of the original length; not abridged

- Full-line
[foo l-lahyn] /ˈfʊlˈlaɪn/ adjective, Commerce. 1. of, supplying, or dealing in many related products and services, as opposed to a single or limited one.

- Full-marks
plural noun, British. 1. full credit; due praise.

- Full-linear-group
noun, Mathematics. 1. the group of all nonsingular linear transformations mapping a finite-dimensional vector space into itself.