By Letter: Non-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
  Email this page to a friend


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



< Previous Terms Terms Containing unfold/fold Next Terms >
underscore
under the hood
undocumented feature
U-NET Limited
unfold
inline
program transformation
UNI
Unicode
UniCOMAL
unicos
Uniface


Web Standards & Support:

Link to and support eLook.org Powered by LoadedWeb Web Hosting
Valid XHTML 1.0!Valid CSS!eLook.org FireFox Extensions