Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
FPCA '89 Proceedings of the fourth international conference on Functional programming languages and computer architecture
Handbook of theoretical computer science (vol. B)
Total correctness by local improvement in the transformation of functional programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Syntax-Directed Semantics: Formal Models Based on Tree Transducers
Syntax-Directed Semantics: Formal Models Based on Tree Transducers
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
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
Circularity, composition, and decomposition results for pebble macro tree transducers
Journal of Automata, Languages and Combinatorics
Hi-index | 0.00 |
We study the question of efficiency improvement or deterioration for a semantic-preserving program transformation technique based on macro tree transducer composition. By annotating functional programs to reflect the internal property "computation time" explicitly in the computed output, and by manipulating such annotations, we formally prove syntactic conditions under which the composed program is guaranteed to be more efficient than the original program, with respect to call-by-need reduction to normal form. The developed criteria can be checked automatically, and thus are suitable for integration into an optimizing functional compiler.