Electronics Circuits & Tutorials - Electronics Hobby Projects - A Complete Electronic Resource Centre
Electronics Circuits & Tutorials

Home About us Electronic Tutorials Engineering Hobby Projects Online Dictionaries Contact us
Tutorials
  • Basic/Beginners
  • Intermediate/Advance
  • Microcontrollers
  • Microprocessors
  • Electronics Symbols
  • Electronics Formulas
  • Dictionary of Units

     more....

Dictionaries
  • Electronics Terms
  • Abbreviations
  • Computer Terms
  • Physics Glossary
  • Science Glossary
  • Space & Solar Terms
  • Semiconductor Symbols / Abbreviation
  • Radio Terminology Bibliography

     more....

Projects
  • Engineering Projects
Home > Electronics Tutorials > Online Computer Terms Dictionary > U

Online Computer Terms Dictionary - U

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)

 


Nearby terms: undocumented feature « U-NET Limited « unfold « unfold/fold » UNI » Unicode » UniCOMAL
 

Discover
  • C/C++ Language Programming Library
  • Electronic Conversions
  • History of Electronics
  • History of Computers
  • Elec. Power Standards
  • Online Calculator and Conversions
  • Electrical Hazards - Health & Safety
  • Datasheets
  • Quick Reference links
  • Electronics Magazines
  • Career in Electronics
  • EMS Post Tracking

     more......

Home Electronic Tutorials Engineering Hobby Projects Resources Links Sitemap Disclaimer/T&C

Copyright © 1999-2020 www.hobbyprojects.com  (All rights reserved)