Skip to main content

A portable and efficient implementation of KL1

  • Conference paper
  • First Online:
Programming Language Implementation and Logic Programming (PLILP 1994)

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

Abstract

A portable implementation scheme of a concurrent logic programming language KL1 by compiling it into C language code is investigated. A feature called generic objects was introduced to the scheme, which allows adding new data types and their manipulation without even slightly changing the core implementation. Parallel implementations can also be built upon it.

An experimental implementation with the proposed scheme called KLIC was built to verify the design. Its sequential core showed reasonable efficiency in both time and space aspects; about twice as fast as the native code generated by SICStus Prolog with smaller code size.

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. Mats Carlsson, Johan Widén, Johan Andersson, Stefan Andersson, Kent Boortz, Hans Nilsson, and Thomas Sjöland. SICStus Prolog User's Manual, 1993.

    Google Scholar 

  2. Takashi Chikayama, Hiroyuki Sato, and Toshihiko Miyazaki. Overview of the parallel inference machine operating system (PIMOS). In Proceedings of FGCS'88, pages 230–251, Tokyo, Japan, 1988.

    Google Scholar 

  3. Atsuhiro Goto, Masatoshi Sato, Katsuto Nakajima, Kazuo Taki, and Akira Matsumoto. Overview of the parallel inference machine architecture (PIM). In Proceedings of FGCS'88, Tokyo, Japan, 1988.

    Google Scholar 

  4. David Gudeman, Koen De Bosschere, and Saumya K. Debray. jc: an efficient and portable sequential implementation of janus. In Proceedings of the Joint International Conference and Symposium on Logic Programming. The MIT Press, 1992.

    Google Scholar 

  5. David Gudeman and Sandra Miller. User Manual for jc — A Janus compiler, version 2.0, 1994.

    Google Scholar 

  6. Ralph Clarke Haygood. Aquarius Prolog User Manual, 1993.

    Google Scholar 

  7. Sverker Janson, Johan Montelius, Kent Boortz, Per Brand, Björn Carlson, Ralph Clarke Haygood, Björn Danielsson, and Seif Haridi. AGENTS user manual. SICS technical report, Swedish Institute of Computer Science, 1994.

    Google Scholar 

  8. Masao Morita, Nobuyuki Ichiyoshi, and Takashi Chikayama. A shared-memory parallel execution scheme of KLIC. ICOT technical report, ICOT. to appear.

    Google Scholar 

  9. Kazuaki Rokusawa, Akihiko Nakase, and Takashi Chikayama. Distributed memory implementation of KLIC. ICOT technical report, ICOT. to appear.

    Google Scholar 

  10. Vijay A. Saraswat, Ken Kahn, and Jacob Levy. Janus: A step towards distributed constraint programming. In Proceedings of North American Conference on Logic Programming. The MIT Press, October 1990.

    Google Scholar 

  11. Yasutaka Takeda, Hiroshi Nakashima, Kanae Masuda, Takashi Chikayama, and Kazuo Taki. A load balancing mechanism for large scale multiprocessor systems and its implementation. In Proceedings of FGCS'88, Tokyo, Japan, 1988. Also in New Generation Computing 7–2, 3 (1990), pp. 179–195.

    Google Scholar 

  12. Kazunori Ueda and Takashi Chikayama. Design of the kernel language for the parallel inference machine. The Computer Journal, 33(6):494–500, December 1990.

    Google Scholar 

  13. David H. D. Warren. Implementing Prolog — compiling predicate logic programs. Research Reports 39 and 40, Department of Artificial Intelligence, University of Edinburgh, 1977.

    Google Scholar 

  14. David H. D. Warren. An abstract Prolog instruction set. Technical Note 309, SRI International, 1983.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Manuel Hermenegildo Jaan Penjam

Rights and permissions

Reprints and permissions

Copyright information

© 1994 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Chikayama, T., Fujise, T., Sekita, D. (1994). A portable and efficient implementation of KL1. In: Hermenegildo, M., Penjam, J. (eds) Programming Language Implementation and Logic Programming. PLILP 1994. Lecture Notes in Computer Science, vol 844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-58402-1_4

Download citation

  • DOI: https://doi.org/10.1007/3-540-58402-1_4

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-58402-5

  • Online ISBN: 978-3-540-48695-4

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics