Deforestation: transforming programs to eliminate trees
Proceedings of the Second European Symposium on Programming
Kernel-LEAF: a logic plus functional language
Journal of Computer and System Sciences
Handbook of theoretical computer science (vol. B)
Partial evaluation in logic programming
Journal of Logic Programming
Logic programming with functions and predicates: the language Babel
Journal of Logic Programming
Partial evaluation and automatic program generation
Partial evaluation and automatic program generation
Tutorial on specialisation of logic programs
PEPM '93 Proceedings of the 1993 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
Tutorial notes on partial evaluation
POPL '93 Proceedings of the 20th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Deductive and inductive synthesis of equational programs
Journal of Symbolic Computation - Special issue on automatic programming
Handbook of logic in computer science (vol. 2)
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Bounded, strongly sequential and forward-branching term rewriting systems
Journal of Symbolic Computation
Specialization of lazy functional logic programs
PEPM '97 Proceedings of the 1997 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
A unified computation model for functional and logic programming
Proceedings of the 24th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Term rewriting and all that
A unifying view of functional and logic program specialization
ACM Computing Surveys (CSUR) - Special issue: electronic supplement to the September 1998 issue
Partial evaluation of functional logic programs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Strongly sequential and inductively sequential term rewriting systems
Information Processing Letters
Automated Theorem-Proving for Theories with Simplifiers Commutativity, and Associativity
Journal of the ACM (JACM)
A Transformation System for Developing Recursive Programs
Journal of the ACM (JACM)
Functional Programming and Parallel Graph Rewriting
Functional Programming and Parallel Graph Rewriting
Narrowing-Driven Partial Evaluation of Functional Logic Programs
ESOP '96 Proceedings of the 6th European Symposium on Programming Languages and Systems
A Demand Driven Computation Strategy for Lazy Narrowing
PLILP '93 Proceedings of the 5th International Symposium on Programming Language Implementation and Logic Programming
Partial Deduction and Driving are Equivalent
PLILP '94 Proceedings of the 6th International Symposium on Programming Language Implementation and Logic Programming
Denotational Abstract Interpretation of Functional Logic Programs
SAS '97 Proceedings of the 4th International Symposium on Static Analysis
ASTRE: Towards a Fully Automated Program Transformation System
RTA '95 Proceedings of the 6th International Conference on Rewriting Techniques and Applications
A Roadmap to Metacomputation by Supercompilation
Selected Papers from the Internaltional Seminar on Partial Evaluation
A Comparative Revisitation of Some Program Transformation Techniques
Selected Papers from the Internaltional Seminar on Partial Evaluation
Squeezing Intermediate Construction in Equational Programs
Selected Papers from the Internaltional Seminar on Partial Evaluation
Proceedings of the Third International Conference on Algebraic and Logic Programming
Canonical Forms and Unification
Proceedings of the 5th Conference on Automated Deduction
Lazy Narrowing in a Graph Machine
Proceedings of the Second International Conference on Algebraic and Logic Programming
Efficient Translation of Lazy Functional Logic Programs into Prolog
LOPSTR '95 Proceedings of the 5th International Workshop on Logic Programming Synthesis and Transformation
Higher-order narrowing with definitional trees
Journal of Functional Programming
The Implementation of Functional Programming Languages (Prentice-Hall International Series in Computer Science)
The narrowing-driven approach to functional logic program specialization
New Generation Computing - Partial evaluation and program transformation
A Partial Evaluation Framework for Curry Programs
LPAR '99 Proceedings of the 6th International Conference on Logic Programming and Automated Reasoning
Removing Redundant Arguments of Functions
AMAST '02 Proceedings of the 9th International Conference on Algebraic Methodology and Software Technology
Measuring the Effectiveness of Partial Evaluation in Functional Logic Languages
LOPSTR '00 Selected Papers form the 10th International Workshop on Logic Based Program Synthesis and Transformation
UPV-CURRY: An Incremental CURRY Interpreter
SOFSEM '99 Proceedings of the 26th Conference on Current Trends in Theory and Practice of Informatics on Theory and Practice of Informatics
An Automatic Composition Algorithm for Functional Logic Programs
SOFSEM '00 Proceedings of the 27th Conference on Current Trends in Theory and Practice of Informatics
Rules + strategies for transforming lazy functional logic programs
Theoretical Computer Science
Cost-Augmented Partial Evaluation of Functional Logic Programs
Higher-Order and Symbolic Computation
Partial evaluation of multi‐paradigm declarative languages: Thesis
AI Communications
Removing redundant arguments automatically
Theory and Practice of Logic Programming
Optimization of XSLT by compact specialization and combination
WISE'05 Proceedings of the 6th international conference on Web Information Systems Engineering
Hi-index | 0.00 |
Functional logic languages combine the operational principles of the most important declarative programming paradigms, namely functional and logic programming. Inductively sequential programs admit the definition of optimal computation strategies and are the basis of several recent (lazy) functional logic languages. In this paper, we define a partial evaluator for inductively sequential functional logic programs. We prove strong correctness of this partial evaluator and show that the nice properties of inductively sequential programs carry over to the specialization process and the specialized programs. In particular, the structure of the programs is preserved by the specialization process. This is in contrast to other partial evaluation methods for functional logic programs which can destroy the original program structure. Finally, we present some experiments which highlight the practical advantages of our approach.