Towards a portable lazy functional declarative debugger


Lee Naish
Department of Computer Science, The University of Melbourne, Parkville 3052, Australia.
lee@cs.mu.oz.au

Tim Barbour
Department of Computer Science, The University of Melbourne, Parkville 3052, Australia.
trb@cs.mu.oz.au


Declarative (or algorithmic) debugging is a promising technique for debugging lazy functional programs. This paper addresses two important reasons why it is not more widespread: the difficulty of writing a declarative debugger for a lazy functional language in the language itself and the efficiency of the debugger. Using the source language to implement the debugger is desirable for portability and we discuss the reasons why this is very difficult to do. We propose a system in which nearly all the code is in the source language but there is one function which must be written at lower level. We also show how this function can be the key to significantly improving the efficiency of declarative debuggers for such languages.


Conference Home Page