A Declarative Language for Parallel Programming
Mauro Gáspari · 2000
The use of logic as a programming tool has achieved a significant impact in software engineering, especially in the early stages of the software development process to support fast prototyping and early verification of costumers requirements. Logic programming languages allow the programmer to encode the costumer needs into logic programs which intuitively (declaratively) represent the requirements of the application and which are immediately executable applying deduction in the underlying logic formalism. Unfortunately this feature does not scale to parallel applications when mechanisms to explicitly manage synchronization and communication are introduced in logic programming languages. In fact these mechanisms endanger one of the main attractive feature of this paradigm: the declarative reading of programs. Although several extensions of logic programming with explicit communication primitives have been proposed a successful language, has not yet been invented, and the design of a re...