The concept of a supercompiler
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Attribute grammars as a functional programming paradigm
Proc. of a conference on Functional programming languages and computer architecture
Program development using lambda abstraction
Proc. of the seventh conference on Foundations of software technology and theoretical computer science
Composition and evaluation of attribute coupled grammars
Acta Informatica
Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
FPCA '93 Proceedings of the conference on Functional programming languages and computer architecture
Warm fusion: deriving build-catas from recursive definitions
FPCA '95 Proceedings of the seventh international conference on Functional programming languages and computer architecture
Total correctness by local improvement in the transformation of functional programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
An approach for exploring code improving transformations
ACM Transactions on Programming Languages and Systems (TOPLAS)
New Generation Computing
Typer inference builds a short cut to deforestation
Proceedings of the fourth ACM SIGPLAN international conference on Functional programming
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Continuation-Based Program Transformation Strategies
Journal of the ACM (JACM)
Syntax-Directed Semantics: Formal Models Based on Tree Transducers
Syntax-Directed Semantics: Formal Models Based on Tree Transducers
Declarative Program Transformation: A Deforestation Case-Study
PPDP '99 Proceedings of the International Conference PPDP'99 on Principles and Practice of Declarative Programming
Comparison of Deforestation Techniques for Functional Programs and for Tree Transducers
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
Benefits of Tree Transducers for Optimizing Functional Programs
Proceedings of the 18th Conference on Foundations of Software Technology and Theoretical Computer Science
Relating Accumulative and Non-accumulative Functional Programs
RTA '01 Proceedings of the 12th International Conference on Rewriting Techniques and Applications
Using circular programs to deforest in accumulating parameters
ASIA-PEPM '02 Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation
Composition of functions with accumulating parameters
Journal of Functional Programming
Using Circular Programs to Deforest in Accumulating Parameters
Higher-Order and Symbolic Computation
Algebraic fusion of functions with an accumulating parameter and its improvement
Proceedings of the eleventh ACM SIGPLAN international conference on Functional programming
Algebraic fusion of functions with an accumulating parameter and its improvement
Journal of Functional Programming
Hi-index | 0.00 |
Deforestation is a well-known program transformation technique which eliminates intermediate data structures that are passed between functions. One of its weaknesses is the inability to deforest programs using accumulating parameters.We show how intermediate lists built by a selected class of functional programs, namely 'accumulating maps', can be deforested using a single composition rule. For this we introduce a new function dmap, a symmetric extension of the familiar function map. While the associated composition rule cannot capture all deforestation problems, it can handle accumulator fusion of functions defined in terms of dmap in a surprisingly simple way. The rule for accumulator fusion presented here can also be viewed as a restricted composition scheme for attribute grammars, which in turn may help us to bridge the gap between the attribute and functional world.