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)
The narrowing-driven approach to functional logic program specialization
New Generation Computing - Partial evaluation and program transformation
PSI '99 Proceedings of the Third International Andrei Ershov Memorial Conference on Perspectives of System Informatics
Hi-index | 0.01 |
The aim of this work is to describe a procedure for the partial evaluation of functional logic languages based on rewriting. In this work, we will use the Escher language as an example of a (concurrent) functional logic language which has rewriting as its computational mechanism. Partial evaluation is a program transformation technique which, by performing some computation and abstraction at compile time generates a specialised version of the program. We present an algorithm for the partial evaluation of Escher programs. The algorithm incorporates techniques from the partial evaluation of logic programs and positive supercompliation. We discuss the correctness and termination of the algorithm. Examples of the performance of the algorithm are presented. Finally, we compare our algorithm with the current partial evaluation procedures for narrowing functional-logic languages and traditional logic languages.