Search Result for "unfold/fold":

The Free On-line Dictionary of Computing (30 December 2018):

unfold/fold 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 (1994-11-03)