ObjVProlog-D: a reflexive object-oriented logic language for distributed computing
Jacques Malenfant, Guy Lapalme, Jean G. Vaucher · 1991
The ObjVProlog-D programming language extends logic programming with concepts of object-oriented and distributed programming, providing a semantically complete and coherent model inspired by ObjV-Lisp where metaclasses are treated as first-class entities. It is based on concurrent logic objects interacting through remote logic method calls. It preserves the Prolog don't know nondeterminism by implementing distributed backtracking to search for all solutions to goals. It uses asynchronous messages for communication and future logic variables for synchronization. Furthermore, its metaclass and reflexive features improve significantly the use of widespread metaprogramming techniques. ObjVProlog-D is implemented in Quintus Prolog and distributed applications have run on a network of workstations.