Proceedings of the Conference on Functional Programming Languages and Computer Architecture 1993
DOI: 10.1145/165180.165214
|View full text |Cite
|
Sign up to set email alerts
|

A short cut to deforestation

Abstract: Lists are often used as "glue" to connect separate parts of a program together.We propose an automatic teehnique for improving the efficiency of such programs, by removing many of these intermediate lists, based on a single, simple, local transformation.We have implemented the method in the Glasgow Haakell compiler.

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
234
0

Year Published

1999
1999
2008
2008

Publication Types

Select...
8

Relationship

0
8

Authors

Journals

citations
Cited by 319 publications
(234 citation statements)
references
References 10 publications
0
234
0
Order By: Relevance
“…The methodology of shortcut deforestation [10] proposes reprogramming summation, mapping and list generation in terms of foldr and a new combinator build as follows:…”
Section: Building Buildmentioning
confidence: 99%
See 2 more Smart Citations
“…The methodology of shortcut deforestation [10] proposes reprogramming summation, mapping and list generation in terms of foldr and a new combinator build as follows:…”
Section: Building Buildmentioning
confidence: 99%
“…The method to encode inductive types via type quantification (the "impredicative encoding") was first described in [19,3]. Shortcut deforestation for lists was proposed by Gill et al [11,10]. For general inductive types, it was defined in [30,18].…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation
“…This technique has been extended in many ways to encompass higher order deforestation [10] and work on other data types [3]. Probably the most practically motivated work has come from those attempting to restrict deforestation, in particular shortcut deforestation [5], and newer approaches such as stream fusion [2]. In this work certain named functions are automatically fused together.…”
Section: Related Workmentioning
confidence: 99%
“…There exist slight generalizations of unfolds, such as monadic unfolds [109,110], apomorphisms [130] and futumorphisms [127], but these still all conform to the same structural scheme, and not all programs that generate data structures fit this scheme [46]. Gill et al [50] introduced an operator they called build for unstructured generation of data, in order to simplify the implementation and broaden the applicability of deforestation optimizations as discussed in the previous section. During the Spring School, Malcolm Wallace proposed the alternative term 'tectomorphism' for build , maintaining the Greek naming theme.…”
Section: Short-cut Fusionmentioning
confidence: 99%