Abstract
We describe in this paper the compilation scheme of the GNU Prolog system. This system is built on our previous experience of compiling Prolog to C in wamcc. The compilation scheme has been however redesigned to overcome drawbacks of the compilation to C. In particular, GNU-Prolog is based on a low-level mini-assembly platformindependent language that makes it possible to avoid the phase of compiling C code, and thus speeds up drastically compilation time. It also makes it possible to produce small stand alone executable files as the result of the compilation process. Interestingly, GNU Prolog is now compliant to the ISO standard and includes several extensions (constraint solving, OS interface, sockets, global variables, etc). The overall system is efficient and comparable in performances with commercial systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
H. Aït-Kaci. Warren’s Abstract Machine, A Tutorial Reconstruction. Logic Programming Series, MIT Press, 1991.
M. Carlsson. Design and Implementation of an Or-Parallel Prolog Engine. PhD dissertation, SICS, Sweden, 1990.
J. Chailloux. La machine LLM3. Technical Report RT-055, INRIA, 1985.
P. Codognet and D. Diaz. wamcc: Compiling Prolog to C. In 12th International Conference on Logic Programming, Tokyo, Japan, MIT Press, 1995.
P. Codognet and D. Diaz. A Minimal Extension of the WAM for clp(FD). In Proc. ICLP’93, 10th International Conference on Logic Programming. Budapest, Hungary, MIT Press, 1993.
P. Codognet and D. Diaz. Compiling Constraint in clp(FD). Journal of Logic Programming, Vol. 27,No. 3, June 1996.
Information technology — Programming languages — Prolog — Part 1: General Core. ISO/IEC 13211-1, 1995.
P. Van Roy and A. Despain. High-Performance Logic Programming with the Aquarius Prolog Compiler. IEEE Computer, pp 54–67, 1992.
D. H. D. Warren. An Abstract Prolog Instruction Set. Technical Report 309, SRI International, Oct. 1983.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Diaz, D., Codognet, P. (1999). GNU Prolog: Beyond Compiling Prolog to C. In: Pontelli, E., Santos Costa, V. (eds) Practical Aspects of Declarative Languages. PADL 2000. Lecture Notes in Computer Science, vol 1753. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-46584-7_6
Download citation
DOI: https://doi.org/10.1007/3-540-46584-7_6
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-66992-0
Online ISBN: 978-3-540-46584-3
eBook Packages: Springer Book Archive