Skip to main content

Techniques for implementing contexts in Logic Programming

  • Conference paper
  • First Online:
Book cover Extensions of Logic Programming (ELP 1992)

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

Included in the following conference series:

Abstract

In this paper we discuss different techniques for implementing an extension of logic programming for knowledge structuring. The extension we consider, in particular, is based on Contextual Logic Programming. Three different implementation approaches are considered first: meta-interpretation, translation into Prolog code and compilation on an extended Warren Abstract Machine. These approaches are compared from the point of view of both methodology and efficiency. In the last part of the paper we consider a more effective implementation, developed on an industrial Prolog enhanced with the module construct.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. H. Bacha: Meta-level Programming: A Compiled Approach. In: J-L. Lassez (ed.): Proceedings 4th International Conference on Logic Programming, The MIT Press, Cambridge (USA), 1987.

    Google Scholar 

  2. K. Bowen, R.A. Kowalski: Amalgamating language and meta-language in logic programming. In: K.L. Clark and S-A. Tarnlund (eds.): Logic Programming, Academic Press, London (UK), pp. 153–172, 1982.

    Google Scholar 

  3. M. Bugliesi: Virtual Predicate Tables for Implementing Inheritance in Logic Programming. Technical Report, University of Padova, 1992.

    Google Scholar 

  4. A. Brogi, E. Lamma, P Mello: Inheritance and Hypothetical Reasoning in Logic Programming. In: L. Carlucci Aiello (ed.): Proceedings of 9th European Conference on Artificial Intelligence ECAI-90, Pitman Publishing, London (UK), 1990.

    Google Scholar 

  5. A. Brogi, E. Lamma, P Mello: A General Framework for Structuring Logic Programs. C.N.R. Technical Report “Progetto Finalizzato Sistemi Informatici e Calcolo Parallelo”, N. 4/1, May 1990.

    Google Scholar 

  6. K. Bowen: Meta-level Programming and Knowledge Representation. New Generation Computing, Vol. 3, no. 4, OHMSHA LDT. and Springer-Verlag, Tokyo (J), pp. 359–383, 1985.

    Google Scholar 

  7. P.L. Civera, E. Lamma, P. Mello, A. Natali, G. Piccinini, G., M. Zamboni: Implementing Structured Logic Programs on a Dedicated VLSI Coprocessor. In: Proceedings Workshop on VLSI for Artificial Intelligence and Neural Networks, Oxford University, September 1990.

    Google Scholar 

  8. E. Denti, A. Natali, A. Omicini: Contexts as First-class Objects in SICStus Prolog. In: S. Costantini (ed.): Proceedings 7th Italian Conference on Logic Programming, Tremezzo, Italy, June 1992.

    Google Scholar 

  9. L. Giordano, A. Martelli, G.F. Rossi: Local Definitions with Static Scope Rules in Logic Languages. In: Proceedings International Conference on Fifth Generation Computer Systems FGCS84, ICOT, Tokyo (J), 1988.

    Google Scholar 

  10. B. Jayaraman, G. Nadathur: Implementation Techniques for Scoping Constructs in Logic Programming. In: K. Furukawa (d.): Proceedings of the 8th International Conference on Logic Programming, Paris (F), The MIT Press, Cambridge (USA), pp. 871–886, 1991.

    Google Scholar 

  11. E. Lamma, P. Mello, A. Natali: The Design of an Abstract Machine for Efficient Implementation of Contexts in Logic Programming. In: G. Levi and M. Martelli (eds.): Proceedings 6th International Conference and Symposium on Logic Programming, The MIT Press, Cambridge (USA), 1989.

    Google Scholar 

  12. E. Lamma, P. Mello, A. Natali: Reflection mechanisms to combine Prolog databases. Software, Practice and Experience, Vol. 21, No. 6, pp. 603–624, John Wiley & Sons, Chichester (UK), 1991.

    Google Scholar 

  13. E. Lamma, P. Mello, A. Natali: An Extended Warren Abstract Machine for the Execution of Structured Logic Programs. Journal of Logic Programming, North-Holland, Forthcoming.

    Google Scholar 

  14. J.W. Lloyd, J.C. Shepherdson: Partial Evaluation in Logic Programming. Journal of Logic Programming, Vol. 13, No. 3&4, pp. 217–242, North-Holland, 1991

    Google Scholar 

  15. M. Meier el alii: SEPIA — An Extendible Prolog System. Proceedings of the 11th World Compuetr Congress IFIP'89, San Francisco (USA), August 1989.

    Google Scholar 

  16. F.G. McCabe: Logic and Objects: Language, application and implementation. PhD Thesis, Imperial College, London (UK), November 1988.

    Google Scholar 

  17. D. Miller: A Theory of Modules for logic Programming. In: Proceedings 1986 International Symposium on Logic Programming, 106–114; 1986.

    Google Scholar 

  18. P. Mello, A. Natali, C. Ruggieri: Logic Programming in a Software Engineering Perspective. In: E.L. Lusk and R.A. Overbeek (eds.): Proceedings of the North American Conference on Logic Programming NACLP89, The MIT Press, Cambridge (USA), 1989.

    Google Scholar 

  19. L. Monteiro, A. Porto: Contextual Logic Programming, In: G. Levi and M. Martelli (eds.): Proceedings 6th International Conference and Symposium on Logic Programming, The MIT Press, Cambridge (USA), 1989.

    Google Scholar 

  20. S. Safra, E. Shapiro: Meta-interpreters for Real. In: H.G. Kugler (ed.): Information Processing 86, pp. 271–278, Elsevier Science Publisher, 1986.

    Google Scholar 

  21. Swedish Institute of Computer Science: SICStus Prolog User's Manual. Kista, Sweden, 1991.

    Google Scholar 

  22. L. Sterling, E. Shapiro: The Art of Prolog. The MIT Press, 1986.

    Google Scholar 

  23. D.H.D. Warren: An Abstract Prolog Instruction Set. SRI Technical Note 309, SRI International, October 1983.

    Google Scholar 

  24. D.S. Warren: Database Updates in Prolog. In: Proceedings International Conference on Fifth Generation Computer Systems 1984, Tokyo (J), 1984.

    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

Denti, E., Lamma, E., Mello, P., Natali, A., Omicini, A. (1993). Techniques for implementing contexts in Logic Programming. 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_17

Download citation

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

  • 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