Description and Optimization of Abstract Machines in a Dialect of Prolog*. Issue 1 (5th January 2015)
- Record Type:
- Journal Article
- Title:
- Description and Optimization of Abstract Machines in a Dialect of Prolog*. Issue 1 (5th January 2015)
- Main Title:
- Description and Optimization of Abstract Machines in a Dialect of Prolog*
- Authors:
- MORALES, JOSÉ F.
CARRO, MANUEL
HERMENEGILDO, MANUEL - Abstract:
- Abstract: In order to achieve competitive performance, abstract machines for Prolog and related languages end up being large and intricate, and incorporate sophisticated optimizations, both at the design and at the implementation levels. At the same time, efficiency considerations make it necessary to use low-level languages in their implementation. This makes them laborious to code, optimize, and, especially, maintain and extend. Writing the abstract machine (and ancillary code) in a higher-level language can help tame this inherent complexity. We show how the semantics of most basic components of an efficient virtual machine for Prolog can be described using (a variant of) Prolog. 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 description 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 state-of-the-art, highly-tuned, hand-crafted emulators.
- Is Part Of:
- Theory and practice of logic programming. Volume 16:Issue 1(2016)
- Journal:
- Theory and practice of logic programming
- Issue:
- Volume 16:Issue 1(2016)
- Issue Display:
- Volume 16, Issue 1 (2016)
- Year:
- 2016
- Volume:
- 16
- Issue:
- 1
- Issue Sort Value:
- 2016-0016-0001-0000
- Page Start:
- 1
- Page End:
- 58
- Publication Date:
- 2015-01-05
- Subjects:
- Abstract machines, -- compilation, -- optimization, -- program transformation, -- prolog, -- logic languages
Logic programming -- Periodicals
Artificial intelligence -- Computer programs -- Periodicals
Constraint programming (Computer science) -- Periodicals
005.115 - Journal URLs:
- https://www.cambridge.org/core/journals/theory-and-practice-of-logic-programming ↗
- DOI:
- 10.1017/S1471068414000672 ↗
- Languages:
- English
- ISSNs:
- 1471-0684
- Deposit Type:
- Legaldeposit
- View Content:
- Available online (eLD content is only available in our Reading Rooms) ↗
- Physical Locations:
- British Library HMNTS - ELD Digital store
- Ingest File:
- 2615.xml