Skip to main content

Abstract

We discuss a modular extension to logic programming with built-in mechanisms for inheritance and message passing. The definition of inheritance we consider encompasses the two mechanisms known in the literature as static and dynamic inheritance. The significance of this extension has been addressed in the recent literature. In this paper the emphasis is primarily on the implementation. We describe an extension of the WAM which supports these new mechanisms, and we outline the current implementation together with some optimizations. We then compare our system with an alternative implementation which translates to Prolog and discuss the results.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover 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. MIT Press, 1991.

    Google Scholar 

  2. A. Bossi, M. Bugliesi, G. Gabbrielli, G. Levi, and M. C. Meo. Differential Logic Programs. In Proceedings of 20th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pages 359–370, Charleston SC, January 1993.

    Google Scholar 

  3. A. Brogi, E. Lamma, and P. Mello. Objects in a Logic Programming Framework. In Proceedings First and Second Russian Conference on Logic Programming Lecture Notes in Artificial Intelligence 592, pages 102–113, Springer-Verlag, 1992.

    Google Scholar 

  4. M. Bugliesi. A Declarative View of Inheritance in Logic Programming. In Proceedings of Joint International Conference and Symposium on Logic Programming, pages 113–127, MIT Press, Washington D.C., November 1992.

    Google Scholar 

  5. S. Debray. Implementing Logic Programming Systems: The Quice-Eating Approach. In this volume.

    Google Scholar 

  6. E. Denti, E. Lamma, P. Mello, A. Natali, and A. Omicini. Techniques for Implementing Contexts in Logic Programming. In E. Lamma and P. Mello, editors, Extensions of Logic Programming Lecture Notes in Artificial Intelligence 660, pages 339–358, Springer-Verlag, February 1992.

    Google Scholar 

  7. E. Denti, A. Natali and A. Omicini. From Modules to Structured Theories and Logic Objects: a Common “program-based” run-time Support. In this volume.

    Google Scholar 

  8. A. M. Dias. An Implementation of a Contextual Logic Programming System. Ms Thesis — Computer Science Department Universidade Nova de Lisboa (in Portuguese), Lisbon, 1990.

    Google Scholar 

  9. B. Jayaraman and G. Nadathur. Implementation Techniques for Scoping Constructs in Logic Programming. In Proceedings of the 8th International Conference on Logic Programming, pages 871–886, MIT Press, Paris, 1991.

    Google Scholar 

  10. E. Lamma, P. Mello, and A. Natali. An Extended Warren Abstract Machine for the Execution of Structured Logic Programs. Journal of Logic Programming, (14):187–222, 1992.

    Google Scholar 

  11. M. Meier and J. Schimpf. An Architecture for Prolog Extension. In E. Lamma and P. Mello, editors, Extensions of Logic Programming Lecture Notes in Artificial Intelligence 660, pages 319–338, Springer-Verlag, February 1992.

    Google Scholar 

  12. F. G. McCabe. Logic and Objects. Language, Application and Implementation. PhD Thesis, Department of Computing, Imperial College of Science and Technology, University of London, 1988.

    Google Scholar 

  13. D. Miller. A Logical Analysis of Modules in Logic Programming. Journal of Logic Programming, 6(2):79–108, 1989.

    Article  MathSciNet  MATH  Google Scholar 

  14. L. Monteiro and A. Porto. Contextual Logic Programming. In Proceedings 6th International Conference on Logic Programming, pages 284–302, MIT Press, Lisbon, June 1989.

    Google Scholar 

  15. L. Monteiro and A. Porto. A Transformational View of Inheritance in Logic Programming. In Proceedings 7th International Conference on Logic Programming, pages 481–494, MIT Press, June 1990.

    Google Scholar 

  16. Swedish Institute of Computer Science, Kista, Sweden. SICStus Prolog User’s Guide, 1992.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer Science+Business Media New York

About this chapter

Cite this chapter

Bugliesi, M., Nardiello, G. (1994). SelfLog: Language and Implementation. In: Tick, E., Succi, G. (eds) Implementations of Logic Programming Systems. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-2690-2_1

Download citation

  • DOI: https://doi.org/10.1007/978-1-4615-2690-2_1

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4613-6157-2

  • Online ISBN: 978-1-4615-2690-2

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics