A debugging environment for functional programming in CENTAUR
Abstract
We present a trace-based debugging environment for a lazy functional language. We argue that traces are a natural even inevitable approach to debugging of lazy languages because stop-and-examine techniques run up against the unpredictability of lazy evaluation. We give a formal definition of trace describe how the Centaur system was used to build the environment and show our system being used to debug a small program. The more general goal of this work is to demonstrate a "hypertextual" approach to trace-based debugging. Our argument is that using hypertext techniques overcomes one of the most serious problems traditionally associated with traces : information overload.