Skip to main content

GNU Prolog: Beyond Compiling Prolog to C

  • Conference paper
  • First Online:
Practical Aspects of Declarative Languages (PADL 2000)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1753))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Aït-Kaci. Warren’s Abstract Machine, A Tutorial Reconstruction. Logic Programming Series, MIT Press, 1991.

    Google Scholar 

  2. M. Carlsson. Design and Implementation of an Or-Parallel Prolog Engine. PhD dissertation, SICS, Sweden, 1990.

    Google Scholar 

  3. J. Chailloux. La machine LLM3. Technical Report RT-055, INRIA, 1985.

    Google Scholar 

  4. P. Codognet and D. Diaz. wamcc: Compiling Prolog to C. In 12th International Conference on Logic Programming, Tokyo, Japan, MIT Press, 1995.

    Google Scholar 

  5. 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.

    Google Scholar 

  6. P. Codognet and D. Diaz. Compiling Constraint in clp(FD). Journal of Logic Programming, Vol. 27,No. 3, June 1996.

    Google Scholar 

  7. Information technology — Programming languages — Prolog — Part 1: General Core. ISO/IEC 13211-1, 1995.

    Google Scholar 

  8. P. Van Roy and A. Despain. High-Performance Logic Programming with the Aquarius Prolog Compiler. IEEE Computer, pp 54–67, 1992.

    Google Scholar 

  9. D. H. D. Warren. An Abstract Prolog Instruction Set. Technical Report 309, SRI International, Oct. 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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

Publish with us

Policies and ethics