Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Extracting polyvariant binding time analysis from polyvariant specializer
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
From logic programming to Prolog
From logic programming to Prolog
Term rewriting and all that
Automated Theorem-Proving for Theories with Simplifiers Commutativity, and Associativity
Journal of the ACM (JACM)
The size-change principle for program termination
POPL '01 Proceedings of the 28th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
The narrowing-driven approach to functional logic program specialization
New Generation Computing - Partial evaluation and program transformation
Definitional Interpreters for Higher-Order Programming Languages
Higher-Order and Symbolic Computation
Typed Higher-Order Narrowing without Higher-Order Strategies
FLOPS '99 Proceedings of the 4th Fuji International Symposium on Functional and Logic Programming
Binding Time Analysis for Polymorphically Typed Higher Order Languages
TAPSOFT '89 Proceedings of the International Joint Conference on Theory and Practice of Software Development, Volume 2: Advanced Seminar on Foundations of Innovative Software Development II and Colloquium on Current Issues in Programming Languages
Proceedings of the Third International Conference on Algebraic and Logic Programming
Proceedings of the 3rd ACM SIGPLAN international conference on Principles and practice of declarative programming
Higher-order narrowing with definitional trees
Journal of Functional Programming
Fast narrowing-driven partial evaluation for inductively sequential programs
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Termination analysis and call graph construction for higher-order functional programs
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
Automated termination proofs for logic programs by term rewriting
ACM Transactions on Computational Logic (TOCL)
Improving offline narrowing-driven partial evaluation using size-change graphs
LOPSTR'06 Proceedings of the 16th international conference on Logic-based program synthesis and transformation
Binding-time analysis by constraint solving a modular and higher-order approach for mercury
LPAR'00 Proceedings of the 7th international conference on Logic for programming and automated reasoning
Hi-index | 0.00 |
We introduce a transformational approach to improve the first stage of offline partial evaluation of functional programs, the so called binding-time analysis (BTA). For this purpose, we first introduce an improved defunctionalization algorithm that transforms higher-order functions into first-order ones, so that existing techniques for termination analysis and propagation of binding-times of first-order programs can be applied. Then, we define another transformation (tailored to defunctionalized programs) that allows us to get the accuracy of a polyvariant BTA from a monovariant BTA over the transformed program. Finally, we show a summary of experimental results that demonstrate the usefulness of our approach.