M. J. Coombs, R. Hartley, J. G. Stell
The use of high level declarative languages has been advocated since they allow problems to be expressed in terms of their domain facts, leaving details of execution to the language interpreter. While this is a significant advantage, it is frequently difficult to learn the procedural constraints imposed by the interpreter. Thus, declarative failures may arise from misunderstanding the implicit procedural content of a program. This paper argues for a constructive approach to identifying poor understanding of procedural interpretation, and presents a prototype diagnostic system for Prolog.