PARLOG: parallel programming in logic
ACM Transactions on Programming Languages and Systems (TOPLAS) - The MIT Press scientific computation series
Flat parlog: a basis for comparison
International Journal of Parallel Programming
A declarative environment for concurrent logic programming
II and Colloquium on Functional and Logic Programming and Specifications (CFLP) on TAPSOFT '87: Advanced Seminar on Foundations of Innovative Software Development
The composition of concurrent programs
Proceedings of the 1989 ACM/IEEE conference on Supercomputing
Systems programming in parallel logic languages
Systems programming in parallel logic languages
The craft of Prolog
The Performance of Parallel Prolog Programs
IEEE Transactions on Computers
Actors as a special case of concurrent constraint (logic) programming
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Strand: new concepts in parallel programming
Strand: new concepts in parallel programming
The concurrent language, Shared Prolog
ACM Transactions on Programming Languages and Systems (TOPLAS)
Coordination languages and their significance
Communications of the ACM
Living in the Next-Generation Operating System
IEEE Software
Concurrency and backtracking in Vienna Parallel Logic
Computer Languages
A declarative coordination language
Computer Languages
Hi-index | 0.00 |
Formal properties of logic languages are largely studied; however, their impact on the practice of software design and programming is currently minimal. In this paper we survey some interesting representatives of the family of logic languages aiming at comparing the different capabilities they offer for designing and programming parallel systems. The logic languages Prolog, Aurora, Flat Concurrent Prolog, Parlog, GHC, and DeltaProlog were chosen, because a suitable set of relevant examples has been published, mostly by the language designers themselves. A number of sample programs is used to expose and compare the languages with respect to their object oriented programming capabilities for multiprocess coordination, interprocess communication, and resource management. Special attention is devoted also to metaprogramming as well, seen as a useful technique for specifying and building the operating environments of the languages themselves. The paper ends with a discussion on positive and negative features found comparing these languages, and indicates some guidelines to be followed in the design of new logic languages.