Affiliation:
1. Imperial College, London, UK
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)
Publisher
Association for Computing Machinery (ACM)
Cited by
205 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Fifty Years of Prolog and Beyond;Theory and Practice of Logic Programming;2022-05-17
2. Parallel Logic Programming: A Sequel;Theory and Practice of Logic Programming;2022-03-28
3. Parallel nondeterministic programming as a language extension to C (short paper);Proceedings of the 18th ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences;2019-10-21
4. A Simulation Tool for tccp Programs;Electronic Proceedings in Theoretical Computer Science;2017-01-01
5. Logic Programming;Computational Logic;2014