The Journal of Functional and Logic Programming the Journal of Functional and Logic Programming a Declarative Debugging Scheme

use journal articles in a variety of ways, limited only as required to insure fair attribution to authors and the journal, and to prohibit use in a competing commercial product. See the journal's World Wide Web site for further details. The Journal of Functional and Logic Programming is a peer-reviewed and electronically published scholarly journal that covers a broad scope of topics from functional and logic programming. In particular, it focuses on the integration of the functional and the logic paradigms as well as their common foundations. Abstract We present a very simple but exible declarative debugging scheme. A declarative debugger can be deened in Prolog with a single clause, and relies on the deenition of just two additional predicates. With suitable deenitions of these predicates, the debugger can diagnose several classes of bugs in many languages. We give examples of diagnoses of wrong answers in functional, relational, and object-oriented languages as well as missing answers in relational languages and calls that are not well deened in functional languages. By using declarative semantics of programs, the debugger is able to hide complex execution mechanisms such as uniication, backtracking, coroutining, parallelism, higher-order functions, lazy evaluation, message passing, and inheritance.