Premium
Reflection mechanisms for combining prolog databases
Author(s) -
Lamma Evelina,
Mello Paola,
Natali Antonio
Publication year - 1991
Publication title -
software: practice and experience
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.437
H-Index - 70
eISSN - 1097-024X
pISSN - 0038-0644
DOI - 10.1002/spe.4380210605
Subject(s) - prolog , computer science , metaprogramming , logic programming , programming language , reflection (computer programming) , structuring , logic program , interpretation (philosophy) , artificial intelligence , theoretical computer science , database , finance , economics
By using practical examples, this paper outlines the power of reflection mechanisms for logic programming systems in the domain of knowledge structuring. In particular, it presents an extension of Prolog, where separate databases can be handled as first‐class objects. Different forms of database combination such as inheritance and dynamic context extension/contraction are specified and implemented in a dynamic and flexible way through reflection. The main aim is to broaden the application area of logic programming to encompass most of the paradigms needed by systems that use artificial intelligence techniques. Practical results presented in the paper show that logic programs that use reflection can be shorter, more readable and efficient than those using more conventional full meta‐interpretation techniques. Full meta‐interpretation, however, is more general than reflection.