In this paper an advanced execution model for the extended logic programming language GAPLog is presented. GAPLog has been developed at the Department of Computer Science, Linkoping University, Sweden. GAPLog combines logic programs with functions written in other languages in a way that the integrated programs have a clean declarative semantics.
By this combination arise some difficulties, which the existing debugging models cannot handle in an adequate way. Therefore an extended theoretical model for execution of GAPLog programs is introduced. It is based on the box model developed for logic programming by L. Byrd. This new model pays special attention to the search for matching clauses and function calls that had to be delayed because of insufficient instantiation.
The model has been used as the basis for an implementation of a practical debugging package for a GAPLog system. One advantage of this debugger is that the reason for a failure of a particular goal may be more precisely determined because the pattern matching step is observable. Moreover, the program trace is directly related to the program because the debug information is displayed in terms of the clauses rather than the goals. Finally the delaying and reactivation of external function calls is traceable.