Sciweavers

LOPSTR
2005
Springer

Non-leftmost Unfolding in Partial Evaluation of Logic Programs with Impure Predicates

13 years 10 months ago
Non-leftmost Unfolding in Partial Evaluation of Logic Programs with Impure Predicates
Partial evaluation of logic programs which contain impure predicates poses non-trivial challenges. Impure predicates include those which produce side-effects, raise errors (or exceptions), and those whose truth value varies according to the degree of instantiation of arguments4 . In particular, non-leftmost unfolding steps can produce incorrect results since the independence of the computation rule no longer holds in the presence of impure predicates. Existing proposals allow non-leftmost unfolding steps, but at the cost of accuracy: bindings and failure are not propagated backwards to predicates which are potentially impure. In this work we propose a partial evaluation scheme which substantially reduces the situations in which such backpropagation has to be avoided. With this aim, our partial evaluator takes into account the information about purity of predicates expressed in terms of assertions. This allows achieving some optimizations which are not feasible using existing partial e...
Elvira Albert, Germán Puebla, John P. Galla
Added 28 Jun 2010
Updated 28 Jun 2010
Type Conference
Year 2005
Where LOPSTR
Authors Elvira Albert, Germán Puebla, John P. Gallagher
Comments (0)