Languages that integrate functional and logic programming with a complete operational semantics are based on narrowing, a unification-based goal-solving mechanism which subsumes the reduction principle of functional languages and the resolution principle of logic languages. Formal methods of transformation of functional logic programs can be based on this well-established operational semantics. In this paper, we present a partial evaluation scheme for functional logic languages based on an automatic unfolding algorithm which builds narrowing trees. We study the semantic properties of the transformation and the conditions under which the technique terminates, is sound and complete, and is also generally applicable to a wide class of programs. We illustrate our method with several examples and discuss the relation with Supercompilation and Partial Evaluation. To the best of our knowledge, this is the first formal approach to partial evaluation of functional logic programs. © Springer-Verlag Berlin Heidelberg 1996.

Alpuente, M., Falaschi, M., Vidal, G. (1996). Narrowing-Driven Partial Evaluation of Functional Logic Programs. In Proc. Programming Languages and Systems - ESOP'96 (pp.45-61). Berlin : SPRINGER-VERLAG.

Narrowing-Driven Partial Evaluation of Functional Logic Programs

FALASCHI, MORENO;
1996-01-01

Abstract

Languages that integrate functional and logic programming with a complete operational semantics are based on narrowing, a unification-based goal-solving mechanism which subsumes the reduction principle of functional languages and the resolution principle of logic languages. Formal methods of transformation of functional logic programs can be based on this well-established operational semantics. In this paper, we present a partial evaluation scheme for functional logic languages based on an automatic unfolding algorithm which builds narrowing trees. We study the semantic properties of the transformation and the conditions under which the technique terminates, is sound and complete, and is also generally applicable to a wide class of programs. We illustrate our method with several examples and discuss the relation with Supercompilation and Partial Evaluation. To the best of our knowledge, this is the first formal approach to partial evaluation of functional logic programs. © Springer-Verlag Berlin Heidelberg 1996.
1996
3540610553
978-354061055-7
Alpuente, M., Falaschi, M., Vidal, G. (1996). Narrowing-Driven Partial Evaluation of Functional Logic Programs. In Proc. Programming Languages and Systems - ESOP'96 (pp.45-61). Berlin : SPRINGER-VERLAG.
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11365/38350
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo