Copyright © Philip M. Parker, INSEAD. Terms of Use.

FULLY LAZY LAMBDA LIFTING

Specialty Definition: FULLY LAZY LAMBDA LIFTING

DomainDefinition

Computing

Fully lazy lambda lifting John Hughes's optimisation of lambda lifting to give full laziness. Maximal free expressions are shared to minimise the amount of recalculation. Each inner sub-expression is replaced by a function of its maximal free expressions (expressions not containing any bound variable) applied to those expressions. E.g. f = \ x . (\ y . (+) (sqrt x) y) ((+) (sqrt x)) is a maximal free expression in (\ y . (+) (sqrt x) y) so this inner abstraction is replaced with (\ g . \ y . g y) ((+) (sqrt x)) Now, if a partial application of f is shared, the result of evaluating (sqrt x) will also be shared rather than re-evaluated on each application of f. As Chin notes, the same benefit could be achieved without introducing the new higher-order function, g, if we just extracted out (sqrt x). This is similar to the code motion optimisation in procedural languages where constant expressions are moved outside a loop or procedure. (1994-12-01). Source: The Free On-line Dictionary of Computing.

Source: compiled by the editor from various references; see credits.

Top     


Crosswords: FULLY LAZY LAMBDA LIFTING

Specialty definitions using "FULLY LAZY LAMBDA LIFTING": full laziness. (references)

Source: compiled by the editor from various references; see credits.

Top     

Alternative Orthography: FULLY LAZY LAMBDA LIFTING


Hexadecimal (or equivalents, 770AD-1900s) (references)

46 55 4C 4C 59      4C 41 5A 59      4C 41 4D 42 44 41      4C 49 46 54 49 4E 47

Leonardo da Vinci (1452-1519; backwards) (references)

            

Binary Code (1918-1938, probably earlier) (references)

01000110 01010101 01001100 01001100 01011001 00100000 01001100 01000001 01011010 01011001 00100000 01001100 01000001 01001101 01000010 01000100 01000001 00100000 01001100 01001001 01000110 01010100 01001001 01001110 01000111

HTML Code (1990) (references)

&#70 &#85 &#76 &#76 &#89 &#32 &#76 &#65 &#90 &#89 &#32 &#76 &#65 &#77 &#66 &#68 &#65 &#32 &#76 &#73 &#70 &#84 &#73 &#78 &#71

ISO 10646 (1991-1993) (references)

0046 0055 004C 004C 0059      004C 0041 005A 0059      004C 0041 004D 0042 0044 0041      004C 0049 0046 0054 0049 004E 0047

Encryption (beginner's substitution cypher): (references)

40554646592463560592463547363835246434054434841

Top     



INDEX

1. Crosswords
2. Orthography
3. Bibliography


  

Copyright © Philip M. Parker, INSEAD. Terms of Use.