Computer Dictionary Online

Medical Dictionary   Law Dictionary   Legal Dictionary   Website Design

0  1  2  3  4  5  6  7  8  9  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 

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.

Contact the Computer Dictionary Online  ::  Link to the Computer Dictionary Online  ::  Disclaimer for Computer Dictionary Online

Computer Dictionary Online
Copyright © 2017