Advertisement

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)

Abstract

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 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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