This paper describes an approach to the integration of logic and object programming where predicates, logic expressions, and a generalized search protocol that support Prolog-like reasoning are implemented as an integral part of an object-oriented language. This logic programming facility provides 1) domain-based reasoning, 2) functional arguments, 3) support of the abstraction power of object-oriented languages, and 4) matching of complex object patterns, none of which are available in Prolog. The integration does not require logic facts to be local predicates in the environment; instead, facts are represented as objects in the application model. This permits recursive reasoning and backtracking on predicates that are defined on different domains. The design concepts and implementation of this approach are presented and its application is illustrated by an example.
Unfortunately, ACM prohibits us from displaying non-influential references for this paper.
To see the full reference list, please visit http://dl.acm.org/citation.cfm?id=100368.