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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Mats Carlsson, Johan Widén, Johan Andersson, Stefan Andersson, Kent Boortz, Hans Nilsson, and Thomas Sjöland. SICStus Prolog User's Manual, 1993.
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.
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.
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.
David Gudeman and Sandra Miller. User Manual for jc — A Janus compiler, version 2.0, 1994.
Ralph Clarke Haygood. Aquarius Prolog User Manual, 1993.
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.
Masao Morita, Nobuyuki Ichiyoshi, and Takashi Chikayama. A shared-memory parallel execution scheme of KLIC. ICOT technical report, ICOT. to appear.
Kazuaki Rokusawa, Akihiko Nakase, and Takashi Chikayama. Distributed memory implementation of KLIC. ICOT technical report, ICOT. to appear.
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.
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.
Kazunori Ueda and Takashi Chikayama. Design of the kernel language for the parallel inference machine. The Computer Journal, 33(6):494–500, December 1990.
David H. D. Warren. Implementing Prolog — compiling predicate logic programs. Research Reports 39 and 40, Department of Artificial Intelligence, University of Edinburgh, 1977.
David H. D. Warren. An abstract Prolog instruction set. Technical Note 309, SRI International, 1983.
Author information
Authors and Affiliations
Editor information
Rights 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