Hyper Dictionary

English Dictionary Computer Dictionary Video Dictionary Thesaurus Dream Dictionary Medical Dictionary


Search Dictionary:  

Meaning of UNFOLD/FOLD

 
Computing Dictionary
 
 Definition: 

A program transformation where a recursive call to a function is unfolded to an instance of the function's body and then later an instance of the function's body is replaced by a call. E.g.

        sumdouble l = sum (double l)
        double l = case l of
                   []   -> []
                   x:xs -> 2*x + double xs
        ==> (unfold double)
        sumdouble l = sum (case l of
                           []   -> []
                           x:xs -> 2*x : double xs)
        ==> (distribute over case)
        sumdouble l = case l of
                      []   -> sum []
                      x:xs -> sum (2*x : double xs)
         ==> (unfold sum)
        sumdouble l = case l of
                      []   -> 0
                      x:xs -> 2*x + sum (double xs)
         ==> (fold sumdouble)
        sumdouble l = case l of
                      []   -> 0
                      x:xs -> 2*x + sumdouble xs

 

 

COPYRIGHT © 2000-2013 HYPERDICTIONARY.COM HOME | ABOUT HYPERDICTIONARY