Efficient local unfolding with ancestor stacks for full prolog

Puebla Sánchez, Alvaro Germán; Albert Albiol, Elvira y Hermenegildo, Manuel V. (2005). Efficient local unfolding with ancestor stacks for full prolog. En: "14th International Symposium, LOPSTR 2004", August 26-28, 2004, Verona, Italy. ISBN 978-3-540-26655-6.

Descripción

Título: Efficient local unfolding with ancestor stacks for full prolog
Autor/es:
  • Puebla Sánchez, Alvaro Germán
  • Albert Albiol, Elvira
  • Hermenegildo, Manuel V.
Tipo de Documento: Ponencia en Congreso o Jornada (Artículo)
Título del Evento: 14th International Symposium, LOPSTR 2004
Fechas del Evento: August 26-28, 2004
Lugar del Evento: Verona, Italy
Título del Libro: Logic-Based Program Synthesis and Transformation
Fecha: 2005
ISBN: 978-3-540-26655-6
Volumen: 3573
Materias:
Escuela: Facultad de Informática (UPM) [antigua denominación]
Departamento: Inteligencia Artificial
Licencias Creative Commons: Reconocimiento - Sin obra derivada - No comercial

Texto completo

[img]
Vista Previa
PDF (Document Portable Format) - Se necesita un visor de ficheros PDF, como GSview, Xpdf o Adobe Acrobat Reader
Descargar (996kB) | Vista Previa

Resumen

The integration of powerful partial evaluation methods into practical compilers for logic programs is still far from reality. This is related both to 1) efficiency issues and to 2) the complications of dealing with practical programs. Regarding efnciency, the most successful unfolding rules used nowadays are based on structural orders applied over (covering) ancestors, i.e., a subsequence of the atoms selected during a derivation. Unfortunately, maintaining the structure of the ancestor relation during unfolding introduces significant overhead. We propose an efficient, practical local unfolding rule based on the notion of covering ancestors which can be used in combination with any structural order and allows a stack-based implementation without losing any opportunities for specialization. Regarding the second issue, we propose assertion-based techniques which allow our approach to deal with real programs that include (Prolog) built-ins and external predicates in a very extensible manner. Finally, we report on our implementation of these techniques in a practical partial evaluator, embedded in a state of the art compiler which uses global analysis extensively (the Ciao compiler and, specifically, its preprocessor CiaoPP). The performance analysis of the resulting system shows that our techniques, in addition to dealing with practical programs, are also significantly more efficient in time and somewhat more efficient in memory than traditional tree-based implementations.

Más información

ID de Registro: 14361
Identificador DC: http://oa.upm.es/14361/
Identificador OAI: oai:oa.upm.es:14361
URL Oficial: http://link.springer.com/chapter/10.1007%2F11506676_10
Depositado por: Biblioteca Facultad de Informatica
Depositado el: 26 Ene 2013 07:02
Ultima Modificación: 21 Abr 2016 13:59
  • Open Access
  • Open Access
  • Sherpa-Romeo
    Compruebe si la revista anglosajona en la que ha publicado un artículo permite también su publicación en abierto.
  • Dulcinea
    Compruebe si la revista española en la que ha publicado un artículo permite también su publicación en abierto.
  • Recolecta
  • e-ciencia
  • Observatorio I+D+i UPM
  • OpenCourseWare UPM