# Lambda lifting

A program transformation to remove free variables. An expression containing a free variable is replaced by a function applied to that variable. E.g.

f x = g 3 where g y = y + x

x is a free variable of g so it is added as an extra argument:

f x = g 3 x where g y x = y + x

Functions like this with no free variables are known as supercombinators and are traditionally given upper-case names beginning with “$”. This transformation tends to produce many supercombinators of the form f x = g x which can be eliminated by eta reduction and substitution. Changing the order of the parameters may also allow more optimisations. References to global (top-level) constants and functions are not transformed to function parameters though they are technically free variables.

A closely related technique is closure conversion. See also Full laziness.

Tagged: l

Read Also:

- Lambdamoo
games The most frequently used server software for running a MOO and also the nerve-center (of sorts) of the MOO community. (ftp://ftp.lambda.moo.mud.org/pub/MOO/). Telnet (telnet://lambda.moo.mud.org:8888). (1999-05-25)

- Lambda-particle
noun, Physics. 1. any of a family of neutral baryons with strangeness −1 or charm +1, and isotopic spin 0. The least massive member of the lambda family was the first strange particle to be discovered. Symbol: Λ. lambda particle An electrically neutral baryon having a mass 2,183 times that of the electron and a […]

- Lambda-point
noun, Physics. 1. the temperature of approximately 2.186 K, at which the transition from helium I to superfluid helium II occurs.

- Lambda prolog
language An extension of standard Prolog defined by Dale A. Miller and Gopalan Nadathur in 1986, in which terms are strongly typed lambda terms. Clauses are higher order hereditary Harrop formulas. The main novelties are universal quantification on goals and implication. The Prolog/Mali compiler compiles Lambda Prolog for the MALI abstract memory system. Teyjus (http://teyjus.cs.umn.edu/) […]