Towards description and optimization of abstract machines in an extension of prolog

Morales Caballero, José Francisco and Carro Liñares, Manuel and Hermenegildo, Manuel V. (2007). Towards description and optimization of abstract machines in an extension of prolog. In: "16th International Symposium, LOPSTR 2006", July 12-14, 2006, Venice, Italy. ISBN 978-3-540-71409-5.

Description

Title: Towards description and optimization of abstract machines in an extension of prolog
Author/s:
  • Morales Caballero, José Francisco
  • Carro Liñares, Manuel
  • Hermenegildo, Manuel V.
Item Type: Presentation at Congress or Conference (Article)
Event Title: 16th International Symposium, LOPSTR 2006
Event Dates: July 12-14, 2006
Event Location: Venice, Italy
Title of Book: Logic-Based Program Synthesis and Transformation
Date: 2007
ISBN: 978-3-540-71409-5
Volume: 4407
Subjects:
Freetext Keywords: Prolog, Abstract machines, Compilation, Optimization, Program Transformation, Recopilación, Optimización.
Faculty: Facultad de Informática (UPM)
Department: Informática Aplicada [hasta 2014]
Creative Commons Licenses: Recognition - No derivative works - Non commercial

Full text

[img]
Preview
PDF - Requires a PDF viewer, such as GSview, Xpdf or Adobe Acrobat Reader
Download (982kB) | Preview

Abstract

Competitive abstract machines for Prolog are usually large, intricate, and incorpórate sophisticated optimizations. This makes them difñcult to code, optimize, and, especially, maintain and extend. This is partly due to the fact that efñciency considerations make it necessary to use low-level languages in their implementation. Writing the abstract machine (and ancillary code) in a higher-level language can help harness this inherent complexity. In this paper we show how the semantics of basic components of an efficient virtual machine for Prolog can be described using (a variant of) Prolog which retains much of its semantics. These descriptions are then compiled to C and assembled to build a complete bytecode emulator. Thanks to the high level of the language used and its closeness to Prolog the abstract machine descriptions can be manipulated using standard Prolog compilation and optimization techniques with relative ease. We also show how, by applying program transformations selectively, we obtain abstract machine implementations whose performance can match and even exceed that of highly-tuned, hand-crafted emulators.

More information

Item ID: 14323
DC Identifier: https://oa.upm.es/14323/
OAI Identifier: oai:oa.upm.es:14323
Official URL: http://link.springer.com/chapter/10.1007%2F978-3-540-71410-1_7?LI=true
Deposited by: Biblioteca Facultad de Informatica
Deposited on: 21 Jan 2013 14:23
Last Modified: 21 Apr 2016 13:56
  • Logo InvestigaM (UPM)
  • Logo GEOUP4
  • Logo Open Access
  • Open Access
  • Logo Sherpa/Romeo
    Check whether the anglo-saxon journal in which you have published an article allows you to also publish it under open access.
  • Logo Dulcinea
    Check whether the spanish journal in which you have published an article allows you to also publish it under open access.
  • Logo de Recolecta
  • Logo del Observatorio I+D+i UPM
  • Logo de OpenCourseWare UPM