Login: A logic programming language with built-in inheritance
Journal of Logic Programming
Data model issues for object-oriented applications
ACM Transactions on Information Systems (TOIS)
F-logic: a higher-order language for reasoning about objects, inheritance, and scheme
SIGMOD '89 Proceedings of the 1989 ACM SIGMOD international conference on Management of data
A logic for object-oriented logic programming
PODS '89 Proceedings of the eighth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
LLO: an object-oriented deductive language with methods and method inheritance
SIGMOD '91 Proceedings of the 1991 ACM SIGMOD international conference on Management of data
Deductive and Object Data Languages: A Quest for Integration
DOOD '95 Proceedings of the Fourth International Conference on Deductive and Object-Oriented Databases
An Effective Deductive Object-Oriented Database Through Language Integration
VLDB '94 Proceedings of the 20th International Conference on Very Large Data Bases
Hi-index | 0.00 |
In this paper, an object logic programming language is proposed that captures all of the basic object-oriented concepts in standard logic programming environment. This paper combines and extends two previously proposed models, namely Conery's technique (1988) which uses first-order logic to model objects including all of the basic object-oriented concepts except inheritance, and the LOGIN language of Ait-Kaci and Nasr (1986) which embeds inheritance into unification using typed logic.In this paper, Conery's proposal is extended by redefining the representation of the objects in a more formal way and by adding inheritance through an extended unification similar to the one proposed by Ait-Kaci and Nasr (1986). We have also changed the type concept of Ait-Kaci and Nasr (1986) by adding types directly to the first-order terms rather than using terms as types. The extended logic language, LPL++, has all the basic object-oriented concepts, namely objects, instances, classes, methods, inheritance, with the availability of update operations on objects in methods. A prototype interpreter also has been developed for the language LPL++.