Jump to content
Wikipedia The Free Encyclopedia

Deforestation (computer science)

From Wikipedia, the free encyclopedia
Program transformation to eliminate trees

In the theory of programming languages in computer science, deforestation (also known as fusion) is a program transformation to eliminate intermediate lists or tree structures that are created and then immediately consumed by a program.

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

Deforestation is typically applied to programs in functional programming languages, more so non-strict programming languages such as Haskell. One algorithm for deforestation, named shortcut deforestation,[2] is implemented in the Glasgow Haskell Compiler.[3] Deforestation is closely related to escape analysis.

See also

[edit ]

References

[edit ]
  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; Launchbury, John; Peyton Jones, Simon (1993). "A short cut to deforestation" (PDF). Proceedings Conference on Functional Programming Languages and Computer Architecture. pp. 223–232. doi:10.1145/165180.165214.
  3. ^ Peyton Jones, Simon; Tolmach, Andrew; Hoare, C.A.R. (2001). "Playing by the rules: rewriting as a practical optimization technique in GHC" (PDF). Proceedings ACM/SIGPLAN Haskell Workshop.
Basic block
Loop
Data-flow
analysis
SSA-based
Code generation
Functional
Global
Other
Static analysis


Stub icon

This programming-language-related article is a stub. You can help Wikipedia by expanding it.

AltStyle によって変換されたページ (->オリジナル) /