Language:
Free Online Dictionary|3Dict

lambda lifting

Source : Free On-Line Dictionary of Computing

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.
Sort by alphabet : 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