1992
DOI: 10.1145/141478.141494
|View full text |Cite
|
Sign up to set email alerts
|

Safe fusion of functional expressions

Abstract: Large functional programs are often constructed by decomposing each big task into smaller tasks which can be performed by simpler functions. This hierarchical style of developing programs has been found to improve programmers' productivity because smaller functions are easier to construct and reuse. However, programs written in this way tend to be less efficient. Unnecessary intermediate data structures may be created. More function invocations may be required. … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
11
0

Year Published

1994
1994
2020
2020

Publication Types

Select...
5
2
1

Relationship

0
8

Authors

Journals

citations
Cited by 16 publications
(11 citation statements)
references
References 9 publications
0
11
0
Order By: Relevance
“…The miniphase framework itself builds on the idea of deforestation [2,6,23]. Particularly in functional programming, developers build up complex functions by successively applying simpler functions, which often communicate through intermediate data structures.…”
Section: Deforestation and Stream Fusionmentioning
confidence: 99%
“…The miniphase framework itself builds on the idea of deforestation [2,6,23]. Particularly in functional programming, developers build up complex functions by successively applying simpler functions, which often communicate through intermediate data structures.…”
Section: Deforestation and Stream Fusionmentioning
confidence: 99%
“…In the work of deforestation [23,3], this problem was solved by restricting the class of fusable expressions. However, the restriction appears to be too strong for this method to be imporporated in a practical compiler.…”
Section: Related Workmentioning
confidence: 99%
“…We describe a straightforward method for building minimum grammars that satisfy the above constraints these grammars may contain productions of the extended forms in (6). Then, we simplify the grammars by eliminating extended forms this makes explicit whether the grammar associated with a program point equals dead.…”
Section: Construction and Simpli Cation Of Liveness Patternsmentioning
confidence: 99%
“…The method and algorithms for dead code elimination studied here have m a n y applications: program slicing and specialization 60,45], strength reduction, nite di erencing, and incrementalization 7, 41, 34, 32], caching intermediate results for program improvement 33], deforestation and fusion 55,6], as well as compiletime garbage collection 24,21,42,57]. The analysis results also provide a kind of type information.…”
Section: Related Work and Conclusionmentioning
confidence: 99%