English

On the Implementation of GNU Prolog

Programming Languages 2010-12-16 v2 Artificial Intelligence

Abstract

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 standalone executables which don't rely on any byte-code 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 article 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.

Keywords

Cite

@article{arxiv.1012.2496,
  title  = {On the Implementation of GNU Prolog},
  author = {Daniel Diaz and Salvador Abreu and Philippe Codognet},
  journal= {arXiv preprint arXiv:1012.2496},
  year   = {2010}
}

Comments

30 pages, 3 figures, To appear in Theory and Practice of Logic Programming (TPLP); Keywords: Prolog, logic programming system, GNU, ISO, WAM, native code compilation, Finite Domain constraints

R2 v1 2026-06-21T16:57:09.058Z