Computer Dictionary Online

Medical Dictionary   Law Dictionary   Legal Dictionary   Website Design

0  1  2  3  4  5  6  7  8  9  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 


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)


Contact the Computer Dictionary Online  ::  Link to the Computer Dictionary Online  ::  Disclaimer for Computer Dictionary Online

Computer Dictionary Online
Copyright © 2017