The Prolog debugger and declarative programming
This addresses a fundamental issue for logic programming practitioners, but it is incremental as it builds on existing debugger models without proposing a new solution.
The paper tackles the incompatibility between the Prolog debugger's operational semantics and declarative programming, finding that attempts to use the debugger from a declarative perspective yield discouraging results.
Logic programming is a declarative programming paradigm. Programming language Prolog makes logic programming possible, at least to a substantial extent. However the Prolog debugger works solely in terms of the operational semantics. So it is incompatible with declarative programming. This report discusses this issue and tries to find how the debugger may be used from the declarative point of view. The results are rather not encouraging. Also, the box model of Byrd, used by the debugger, is explained in terms of SLD-resolution.