Attribute grammars as a functional programming paradigm
Proc. of a conference on Functional programming languages and computer architecture
Derivation of programs which traverse their input data only once
Advanced Programming Methodologies
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
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)
Shortcut fusion for accumulating parameters & zip-like functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
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
On Deforesting Parameters of Accumulating Maps
LOPSTR '01 Selected papers from the 11th International Workshop on Logic Based Program Synthesis and Transformation
Conditions for Efficiency Improvement by Tree Transducer Composition
RTA '02 Proceedings of the 13th International Conference on Rewriting Techniques and Applications
Extending Deforestation for First Order functional Programs
Proceedings of the 1991 Glasgow Workshop on Functional Programming
Optimising Recursive Functions Yielding Multiple Results in Tuples in a Lazy Functional Language
IFL '99 Selected Papers from the 11th International Workshop on Implementation of Functional Languages
Short cut fusion: proved and improved
SAIG'01 Proceedings of the 2nd international conference on Semantics, applications, and implementation of program generation
Shortcut fusion for accumulating parameters & zip-like functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Composition of functions with accumulating parameters
Journal of Functional Programming
Using Circular Programs to Deforest in Accumulating Parameters
Higher-Order and Symbolic Computation
Fusion with stacks and accumulating parameters
Proceedings of the 2004 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
XML stream transformer generation through program composition and dependency analysis
Science of Computer Programming
A shortcut fusion rule for circular program calculation
Haskell '07 Proceedings of the ACM SIGPLAN workshop on Haskell workshop
Shortcut fusion rules for the derivation of circular and higher-order monadic programs
Proceedings of the 2009 ACM SIGPLAN workshop on Partial evaluation and program manipulation
Hi-index | 0.00 |
Functional languages allow a modular programming style by function composition, which however can lead to inefficient runtime behavior due to production and consumption of intermediate results.We present a new mechanizable transformation technique for removing intermediate data structures in the composition of two functions from a class of recursive functions with accumulating parameters, for which classical deforestation techniques fail.In order to avoid multiple traversals of the input data structure, the composition algorithm produces circular programs that make essential use of lazy evaluation and local recursion.The resulting programs are simplified using a post-processing phase presented in the paper.