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). © 1986, ACM. All rights reserved.
Author supplied keywords
Cite
CITATION STYLE
Clark, K., & Gregory, S. (1986). PARLOG: Parallel Programming in Logic. ACM Transactions on Programming Languages and Systems (TOPLAS), 8(1), 1–49. https://doi.org/10.1145/5001.5390
Register to see more suggestions
Mendeley helps you to discover research relevant for your work.