[go: nahoru, domu]

Jump to content

Deforestation (computer science)

From Wikipedia, the free encyclopedia

This is an old revision of this page, as edited by Trappist the monk (talk | contribs) at 18:25, 17 May 2015 (replace/remove deprecated cs1|2 parameters; using AWB). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

In the theory of programming languages in computer science, deforestation (also known as fusion) is a program transformation to eliminate tree structures.

The term "deforestation" was originally coined by Philip Wadler in his paper "Deforestation: transforming programs to eliminate trees".[1]

Deforestation is typically applied to programs in functional programming languages, particularly non-strict programming languages such as Haskell. One particular algorithm for deforestation, shortcut deforestation,[2] is implemented in the Glasgow Haskell Compiler.[3]

See also

References

  1. ^ Wadler, Philip (1990). "Deforestation: transforming programs to eliminate trees". Theoretical Computer Science. 73 (2): 231–248. doi:10.1016/0304-3975(90)90147-A.
  2. ^ Gill, Andrew; John Launchbury; Simon Peyton Jones (1993). "A short cut to deforestation" (PDF). Proc. Conf. on Functional Programming Languages and Computer Architecture. pp. 223–232. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)
  3. ^ Peyton Jones, Simon; Andrew Tolmach; C.A.R. Hoare (2001). "Playing by the rules: rewriting as a practical optimization technique in GHC". Proc. ACM/SIGPLAN Haskell Workshop. {{cite conference}}: Unknown parameter |booktitle= ignored (|book-title= suggested) (help)