1
- https://doi.org/10.14288/1.0051857
The Design of a Distributed Interpreter for Concurrent Prolog
- Nov 1, 1984
- Open Collections
- Chun M Tam
Prolog is a programming language based on predicate logic. Its successor, Concurrent Prolog, was designed to meet the needs of a multiprocessing environment to the extent that it may be desirable as a succinct language for writing operating systems. Here, we demonstrate the feasibllity of implementing a distributed interpreter for Concurrent Prolog using traditional programming tools under a multiprocess structuring methodology. We will discuss the considerations that must be made in a distributed environment and how the constructs of the language may be implemented. In particular, several subtle pitfalls associated with the implementation of read-only variables and the propagation of new bindings will be illustrated. In addition, a modification to Shapiro''s treatment of read-only variables is proposed in an attempt to ``clean up'''' the semantics of the language. (The discussion will centre around a primitive version of an interpreter for the language written in Zed (a language similar to C) on an Unix-like operating system, Verex. Although a brief introduction of Prolog and Concurrent Prolog will be given, it is assumed that the reader is familiar with the paper \underline{A Subset of Concurrent Prolog and Its Interpreter} by E.Y. Shapiro [Shapiro83].)
- # Concurrent Prolog
- # Prolog
- # Unix-like Operating System
- # Language
- # Succinct
- # Predicate Logic
- # Programming
- # Interpreter For Prolog
- # Writing
- # Structuring