Meta-level Programming: a Compiled Approach
There has been some intense research lately focused on the area of meta-level inference systems. In logic programming, the limitations of Prolog are widely recognized and a meta-level approach has been suggested. Unfortunately, only meta-interpreters have been considered so far. Moreover, these meta-interpreters are often themselves written on top of a Prolog interpreter. These cascaded layers of interpreters result in an enormous slow down, rendering the resulting system practically useless for all but a small number of toy applications. This paper will report on the implementation of a fast incremental metaProlog compiler. In the process, it will explore some of the issues involving meta-level systems in general and offer the view of a knowledge base as a microcosm of the real world. To this effect, some new definitions are introduced and related to the notion of VIEWPOINT. It is hoped that this type of results will broaden the application area of logic programming to encompass most of the paradigms needed by Artificial Intelligence systems.