Skip to main content

An architecture for Prolog extensions

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 660))

Abstract

We address the task of an efficient implementation of Prolog extensions. Prolog is a very good language for prototyping and almost any extension can be quickly written in Prolog using a Prolog interpreter and tested on small examples. It is harder to find out if the results scale up to large, real life problems, though. A Prolog interpreter, even if partially evaluated with respect to a given problem, quickly hits the space and time limitations and so more elaborate approaches to the implementation are necessary. In this article we describe an architecture of a Prolog system that gives the user enough support to quickly prototype new extensions and at the same time to implement them efficiently and incrementally. This architecture has been used to build the SEPIA and ECL'PS e systems.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Hassan Aït-Kaci and Roger Nasr. LOGIN: A logic programming language with built-in inheritance. Journal of Logic Programming, 3(3):185–215, 1986.

    Google Scholar 

  2. J. Bocca. MegaLog — A Platform for Developing Knowledge Base Management Systems. In Proc. Second Int. Symposium on Database Systems for Advanced Applications (DASFAA '91), Tokyo, April 1991.

    Google Scholar 

  3. Mats Carlsson. Freeze, indexing and other implementation issues in the WAM. In Proceedings of the 4th ICLP, pages 40–58, Melbourne, May 1987.

    Google Scholar 

  4. Alain Colmerauer. Prolog II manuel de reference et modele theorique. Technical Report ERA CNRS 363, Groupe Intelligence Artificielle, Faculte des Sciences de Luminy, March 1982.

    Google Scholar 

  5. M. Dincbas, P. Van Hentenryck, H. Simonis, A. Aggoun, T. Graf, and F. Berthier. The constraint logic programming language CHIP. In International Conference on FGCS 1988, Tokyo, November 1988.

    Google Scholar 

  6. Pascal Van Hentenryck. Constraint Satisfaction in Logic Programming. MIT Press, 1989.

    Google Scholar 

  7. Serge Le Huitouze. A new data structure for implementing extensions to prolog. In PLILP, pages 136–150, 1990.

    Google Scholar 

  8. Micha Meier. Event handling in Prolog. In Proceedings of the North American Conference on Logic Programming, Cleveland, October 1989.

    Google Scholar 

  9. Micha Meier, Abderrahmane Aggoun, David Chan, Pierre Dufresne, Reinhard Enders, Dominique Henry de Villeneuve, Alexander Herold, Philip Kay, Bruno Perez, Emmanuel van Rossum, and Joachim Schimpf. SEPIA — an extendible Prolog system. In Proceedings of the 11th World Computer Congress IFIP'89, San Francisco, August 1989.

    Google Scholar 

  10. Ulrich Neumerkel. Extensible unification by metastructures. In Proceedings of META '90, 1990.

    Google Scholar 

  11. James A. Thorn and Justin Zobel. Nu-Prolog reference manual version 1.1. Technical Report 86/10, Department of Computer Science, University of Melbourne, 1986. Revised May 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

E. Lamma P. Mello

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Meier, M., Schimpf, J. (1993). An architecture for Prolog extensions. In: Lamma, E., Mello, P. (eds) Extensions of Logic Programming. ELP 1992. Lecture Notes in Computer Science, vol 660. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-56454-3_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-56454-3_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-56454-6

  • Online ISBN: 978-3-540-47562-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics