语言选择:
免费网上英汉字典|3Dict

fully lazy lambda lifting

资料来源 : Free On-Line Dictionary of Computing

fully lazy lambda lifting
     
        John Hughes's optimisation of {lambda lifting} to give {full
        laziness}.  {Maximal free expression}s 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 language}s where constant expressions are moved
        outside a loop or procedure.
     
        (1994-12-01)
依字母排序 : 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