Hostname: page-component-74656f9884-rdgjk Total loading time: 0 Render date: 2026-11-09T13:48:00.658Z Has data issue: false hasContentIssue false

On the implementation of GNU Prolog

Published online by Cambridge University Press:  12 December 2011

DANIEL DIAZ
Affiliation:
University of Paris 1, 90 rue de Tolbiac, 75013 Paris, France (e-mail: Daniel.Diaz@univ-paris1.fr)
SALVADOR ABREU
Affiliation:
Universidade de Évora and Centria FCT/UNL, Largo dos Colegiais 2, 7004-516 Évora, Portugal (e-mail: spa@di.uevora.pt)
PHILIPPE CODOGNET
Affiliation:
JFLI, CNRS, University of Tokyo, Tokyo, Japan (e-mail: Philippe.Codognet@lip6.fr)
Rights & Permissions [Opens in a new window]

Abstract

Core share and HTML view are not available for this content. However, as you have access to this content, a full PDF is available via the 'Save PDF' action button.

GNU Prolog is a general-purpose implementation of the Prolog language, which distinguishes itself from most other systems by being, above all else, a native-code compiler which produces stand-alone executables which do not rely on any bytecode emulator or meta-interpreter. Other aspects which stand out include the explicit organization of the Prolog system as a multipass compiler, where intermediate representations are materialized, in Unix compiler tradition. GNU Prolog also includes an extensible and high-performance finite-domain constraint solver, integrated with the Prolog language but implemented using independent lower-level mechanisms. This paper discusses the main issues involved in designing and implementing GNU Prolog: requirements, system organization, performance, and portability issues as well as its position with respect to other Prolog system implementations and the ISO standardization initiative.

Information

Type
Regular Papers
Copyright
Copyright © Cambridge University Press 2011