Offline narrowing-driven partial evaluation

J.Guadalupe Ramos, Josep Silva, and Germán Vidal


V Jornadas sobre Programación y Lenguajes (PROLE 2005), Granada (Spain).

Narrowing-driven partial evaluation (NPE) is a powerful technique for the specialization of rewrite systems. Although it gives good results on small programs, it does not scale up well to realistic problems (e.g., interpreter specialization). In this work, we introduce a faster partial evaluation scheme by ensuring the termination of the process offline. For this purpose, we first characterize a class of rewrite systems which are quasi-terminating, i.e., the computations performed with needed narrowing (the symbolic computation mechanism of NPE) only contain finitely many different terms (and, thus, partial evaluation terminates). Since this class is quite restrictive, we introduce an annotation algorithm for a broader class of systems so that they behave like quasi-terminating rewrite systems w.r.t. a proposed extension of needed narrowing.

Available: PDF BibTeX-Entry


Germán Vidal