Parlog(ID:1049/par032)


for PARallel proLOG

Clark & Gregory, Imperial College 1983.

An AND-parallel Prolog, with guards and committed choice [=don't care] nondeterminism. Shallow backtracking only.




Related languages
Prolog => Parlog   Evolution of
Relational Language => Parlog   Evolution of
Parlog => Andorra   Derivation of
Parlog => Kernel Parlog   Target language for
Parlog => LOTOS   Target language for
Parlog => MacParlog   Implementation
Parlog => Parlog83   Evolution of
Parlog => PC-Parlog   Implementation
Parlog => POLKA   Extension of
Parlog => SPM   VM Language
Parlog => Vienna Parallel Logic   Influence

References:
  • Clark, Keith and Gregory, Steve "Parlog: A Parallel Logic Programming Language", Department of computing Research reports DOC 83/5 Imperial College, London, May 1983. view details
  • CLARK, K. L., AND GREGORY, S. "Notes on systems programming in PARLOG" in Proceedings of the International Conference on Fifth Generation Computer Systems. ICOT, Tokyo, pp. 299-306. 1984 view details
  • Clark K.L. and Gregory, S. "Notes on the implementation of PARLOG", pp17-42 view details
          in J Logic Prog 2(1) (1985) view details
  • Clark , Keith and Gregory, Steve "PARLOG: parallel programming in logic" view details Abstract: PARLOG is a logic programming language in the sense that nearly every definition and query can be read as a sentence of predicate logic. It differs from PROLOG in incorporating parallel modes of evaluation. For reasons of efficient implementation, it distinguishes and separates and-parallel and or-parallel evaluation. PARLOG relations are divided into two types: single-solution relations and all-solutions relations. A conjunction of single-solution relation calls can be evaluated in parallel with shared variables acting as communication channels for the passing of partial bindings. Only one solution to each call is computed, using committed choice nondeterminism. A conjunction of all-solutions relation calls is evaluated without communication of partial bindings, but all the solutions may be found by an or-parallel exploration of the different evaluation paths. A set constructor provides the main interface between single-solution relations and all-solutions relations. This paper is a tutorial introduction to PARLOG. It assumes familiarity with logic programming. Categories and Subject Descriptors: D.l.l [Programming Techniques]: Applicative (Functional) DOI
          in TOPLAS 8(1) January 1986 The MIT Press scientific computation series view details
  • Clark, K. L., and Gregory, S. 1987. "PARLOG and PROLOG united" pp. 927-961. view details
          in Proceedings of the 4th International Conference on Logic Programming, J.-L. Lassez, Ed. MIT Press, Cambridge, Mass.,1987 view details
  • Gregory, S. "Parallel Logic Programming in PARLOG, The Language and Its Implementation", A-W 1987. view details
          in Proceedings of the 4th International Conference on Logic Programming, J.-L. Lassez, Ed. MIT Press, Cambridge, Mass.,1987 view details
  • Huntbach, M. "Implementing a graph-colouring algorithm in Parlog" pp80-85 view details Abstract: In this paper we give a Parlog program for a parallel algorithm for the graph-colouring problem. Although the algorithm as originally given refers to a specific architecture, it translates with ease into Parlog. Since the parallelism in Parlog is virtual, the same program may be used on any architecture on which Parlog is implemented. DOI
          in SIGPLAN Notices 24(09) September 1989 view details
  • Crammond, Jim; Andrew Davison, Alastair Burt, Matthew Huntbach and Melissa Lam. "The Parallel Parlog User Manual" Parlog Group Department of Computing Imperial College, London 1990 view details External link: Online user manual
          in SIGPLAN Notices 24(09) September 1989 view details
  • Talia, D. "Survey and comparison of PARLOG and Concurrent Prolog" pp33-42 view details Abstract: The integration of logic programming and concurrent programming has created a new class of languages, concurrent logic languages. These languages are born from a new interpretation of Horn clauses, called the process interpretation. The main goal of concurrent logic languages is the exploitation of parallelism which is inside logic programs. Furthermore, they extend the application areas of logic programming. This paper surveys and compares the two most significant concurrent programming languages, PARLOG and Concurrent Prolog. For both languages the main features are presented and discussed. DOI
          in [SIGPLAN] SIGPLAN Notices 25(01) January 1990 view details
  • Talia, D. "A survey of PARLOG and Concurrent Prolog: the integration of logic and parallelism" view details
          in Computer Languages 18(3) view details
  • Skillicorn, David B. and Talia, Domenico "Models and languages for parallel computation" pp123-169 view details
          in [ACM] ACM Computing Surveys (CSUR) 30(2) June 1998 view details
    Resources