The art of building a parallel logic programming system or from zero to full GHC in ten pages

  • Martin Nilsson
  • Hidehiko Tanaka
Programming Languages And Implementation
Part of the Lecture Notes in Computer Science book series (LNCS, volume 315)


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 words

Parallel Logic Programming Prolog Committed choice Interpreter Fleng GHC 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [1]
    Anzai, Y.: Parallel Processing, bit, Vol 19, No 4, April 1987. p 84–88. (In Japanese)Google Scholar
  2. [2]
    Clark, K.L. and Gregory, S.: Parlog: Parallel Programming in Logic. ACM Trans. on Programming Languages, Vol. 8, No. 1, 1986.Google Scholar
  3. [3]
    Colmerauer, A.: Prolog-II-Manuel de reference et modele theorique. Groupe d'Intelligence Artificielle, Universite d'Aix-Marseille II, 1982.Google Scholar
  4. [4]
    Furukawa, K. and Mizoguchi, F. (Eds.): The Parallel Programming Language GHC and its Applications. Kyoritsu Publishing Co. Tokyo, 1987. (In Japanese).Google Scholar
  5. [5]
    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
  6. [6]
    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
  7. [7]
    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
  8. [8]
    Nilsson, M. and Tanaka, H.: Submitted for publication.Google Scholar
  9. [9]
    Pereira,F.: C-Prolog User's Manual version 1.5. EdCAAD, Univ. of Edinburgh, February 1984.Google Scholar
  10. [10]
    Shapiro, E.: A Subset of Concurrent Prolog and its Interpreter. ICOT Technical Report TR-003, February 1983.Google Scholar
  11. [11]
    Ueda, K. and Chikayama, T.: Concurrent Prolog Compiler on Top of Prolog. ICOT Technical Report TR-092, 1984.Google Scholar
  12. [12]
    Ueda, K.: Guarded Horn Clauses. D.Eng. Thesis, Information Engineering course, University of Tokyo, Japan. March 1986.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1988

Authors and Affiliations

  • Martin Nilsson
    • 1
  • Hidehiko Tanaka
    • 1
  1. 1.The Tanaka Lab., Dept. of Electrical EngineeringThe University of TokyoTokyo

Personalised recommendations