If Prolog is the Answer, What is the Question? or What it Takes to Support AI Programming Paradigms
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Multiway merge with constant delay in concurrent Prolog
New Generation Computing
CommonLoops: merging Lisp and object-oriented programming
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Algorithmic Program DeBugging
TAO: A fast interpreter-centered system on LISP machine ELIS
LFP '84 Proceedings of the 1984 ACM Symposium on LISP and functional programming
Foundations of Actor Semantics
Foundations of Actor Semantics
IEEE Transactions on Software Engineering - Special Issue on Artificial Intelligence in Software Applications
Concurrent objects in a logic programming framework
OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
Programming languages for distributed computing systems
ACM Computing Surveys (CSUR)
CSC '90 Proceedings of the 1990 ACM annual conference on Cooperation
Integrating logic and object-oriented programming
ACM SIGPLAN OOPS Messenger
Objects in concurrent logic programming languages
OOPWORK '86 Proceedings of the 1986 SIGPLAN workshop on Object-oriented programming
Objects as Communicating Prolog Units
ECOOP '87 Proceedings of the European Conference on Object-Oriented Programming
Inheritance and Synchronization in Concurrent OOP
ECOOP '87 Proceedings of the European Conference on Object-Oriented Programming
SCOOP, Structured Concurrent Object-Oriented Prolog
ECOOP '88 Proceedings of the European Conference on Object-Oriented Programming
Computer Languages
Hi-index | 0.00 |
Concurrent Prolog supports object-oriented programming with a clean semantics and additional programming constructs such as incomplete messages, unification, direct broadcasting, and concurrency synchronization [Shapiro 1983a]. While it provides excellent computational support, we claim it does not provide good notation for expressing the abstractions of object-oriented programming. We describe a preprocessor that remedies this problem. The resulting language, Vulcan, is then used as a behicle for exploring new variants of object-oriented programming which become possible in this framework.