The art of building a parallel logic programming system or from zero to full GHC in ten pages
We show how a parallel logic programming system is produced as the result of stepwise improvements of a series of minimal interpreters. This paper exposes typical problems and solutions in a clear way. One result is a full implementation of the language Fleng, including built-in functions, suspension mechanism, and one-way unification. We also give a version of the same interpreter using a freeze primitive. The Fleng interpreter is further developed into a Flat GHC interpreter, and then into a Full GHC interpreter.
Key wordsParallel Logic Programming Prolog Committed choice Interpreter Fleng GHC
Unable to display preview. Download preview PDF.
- Anzai, Y.: Parallel Processing, bit, Vol 19, No 4, April 1987. p 84–88. (In Japanese)Google Scholar
- Clark, K.L. and Gregory, S.: Parlog: Parallel Programming in Logic. ACM Trans. on Programming Languages, Vol. 8, No. 1, 1986.Google Scholar
- Colmerauer, A.: Prolog-II-Manuel de reference et modele theorique. Groupe d'Intelligence Artificielle, Universite d'Aix-Marseille II, 1982.Google Scholar
- Furukawa, K. and Mizoguchi, F. (Eds.): The Parallel Programming Language GHC and its Applications. Kyoritsu Publishing Co. Tokyo, 1987. (In Japanese).Google Scholar
- Hirata, M.: Self-description of Oc and its Applications. In Proc. Second National Conf. of Japan Society of Software Science and Technology, 1985. p 153–156. (In Japanese)Google Scholar
- Nilsson, M. and Tanaka, H.: Implementing Safe GHC the Easy Way — by Compilation into Guard-free Form. In Proc. Information Processing Soc. of Japan, March 1987. p 773–774.Google Scholar
- Nilsson, M. and Tanaka, H.: Fleng Prolog — The Language which turns Supercomputers into Prolog Machines. In Wada,E. (Ed.): Proc. Japanese Logic Programming Conference. ICOT, Tokyo, 1986. p 209–216. Also in Wada,E. (ed.): Logic Programming '86, Springer Lecture Notes in Computer Science 264. p 170–179.Google Scholar
- Nilsson, M. and Tanaka, H.: Submitted for publication.Google Scholar
- Pereira,F.: C-Prolog User's Manual version 1.5. EdCAAD, Univ. of Edinburgh, February 1984.Google Scholar
- Shapiro, E.: A Subset of Concurrent Prolog and its Interpreter. ICOT Technical Report TR-003, February 1983.Google Scholar
- Ueda, K. and Chikayama, T.: Concurrent Prolog Compiler on Top of Prolog. ICOT Technical Report TR-092, 1984.Google Scholar
- Ueda, K.: Guarded Horn Clauses. D.Eng. Thesis, Information Engineering course, University of Tokyo, Japan. March 1986.Google Scholar