Date: 21 Mar 2001

Theoretical Foundations for the Declarative Debugging of Lazy Functional Logic Programs

* Final gross prices may vary according to local VAT.

Get Access

Abstract

The aim of this paper is to provide theoretical foundations for the declarative debugging of wrong answers in lazy functional logic programming. We rely on a logical framework which formalizes both the intended meaning and the execution model of programs in a simple language which combines the expressivity of pure Prolog and a significant subset of Haskell. As novelties w.r.t. to previous related approaches, we deal with functional values both as arguments and as results of higher order functions, we obtain a completely formal specification of the debugging method, and we extend known soundness and completeness results for the debugging of wrong answers in logic programming to a substantially more difficult context. A prototype implementation of a working debugger is planned as future work.

Work partially supported by the Spanish CICYT (project CICYT-TIC98-0445-C03-02/97 ‘TREND’)

Acknowledgement

We are grateful to the anonymous referees for their constructive remarks.