Fast Offline Partial Evaluation of Logic Programs

One of the most important challenges in partial evaluation is the design of automatic methods for ensuring the termination of the process. In this work, we introduce sufficient conditions for the strong (i.e., independent of a computation rule) termination and quasitermination of logic programs whic...

Descripción completa

Detalles Bibliográficos
Autores: Leuschel, Michael, Vidal, Germán|||0000-0002-1857-6951
Tipo de recurso: artículo
Fecha de publicación:2014
País:España
Institución:Universitat Politècnica de València (UPV)
Repositorio:RiuNet. Repositorio Institucional de la Universitat Politécnica de Valéncia
Idioma:inglés
OAI Identifier:oai:riunet.upv.es:10251/46960
Acceso en línea:https://riunet.upv.es/handle/10251/46960
Access Level:acceso abierto
Palabra clave:Partial evaluation
Termination analysis
Logic programming
LENGUAJES Y SISTEMAS INFORMATICOS
Descripción
Sumario:One of the most important challenges in partial evaluation is the design of automatic methods for ensuring the termination of the process. In this work, we introduce sufficient conditions for the strong (i.e., independent of a computation rule) termination and quasitermination of logic programs which rely on the construction of size-change graphs. We then present a fast binding-time analysis that takes the output of the termination analysis and annotates logic programs so that partial evaluation terminates. In contrast to previous approaches, the new binding-time analysis is conceptually simpler and considerably faster, scaling to medium-sized or even large examples. © 2014 Elsevier Inc. All rights reserved.