Open Access
A debugging environment for functional programming in CENTAUR
Samuel Kamin
- 01 Jan 1990
TL;DR: It is argued that using hypertext techniques overcomes one of the most serious problems traditionally associated with traces : information overload.
read more
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.
read more
Chat with Paper
AI Agents for this Paper
Find similar papers on Google Scholar, PubMed and Arxiv
Write a critical review of this paper
Analyze citations of this paper to find unaddressed research gaps
Citations
Algorithmic Debugging for Lazy Functional Languages
Henrik Nilsson,Peter Fritzon +1 more
- 26 Aug 1992
TL;DR: This paper presents an algorithmic debugger for a lazy functional language and some experience in using it, and addresses the problem of providing the user with a strictified view of the execution trace whenever possible.
99
Algorithmic debugging for lazy functional languages
Henrik Nilsson,Peter Fritzson +1 more
TL;DR: This thesis presents a technique for debugging lazy functional programs declaratively and an efficient implementation of a declarative debugger for a large subset of Haskell, believed to be the first implementation of such a debugger which is sufficiently efficient to be useful in practice.
87
How to look busy while being as lazy as ever: the Implementation of a lazy functional debugger
TL;DR: The key idea is to construct a declarative trace which hides the operational details of lazy evaluation, however, to avoid excessive memory consumption, the trace is constructed one piece at a time, as needed, by automatic re-execution of the program being debugged.
70
The Evaluation Dependence Tree as a Basis for Lazy FunctionalDebugging
Henrik Nilsson,Jan Sparud +1 more
- 01 Apr 1997
TL;DR: A structure which is called the Evaluation Dependence Tree (EDT) is proposed which would be a viable basis for debugging lazy functional programs and two different construction methods are described.
69
Tracing piece by piece: affordable debugging for lazy functional languages
Henrik Nilsson
- 01 Sep 1999
TL;DR: This paper shows that computing partial traces on demand by re-executing the traced program is a viable way to overcome difficulties and allows any program to be traced using only a fixed amount of extra storage.
21
Related Papers (5)
John T. O'Donnell,Cordelia V. Hall +1 more
- 01 Sep 1988
Henrik Nilsson,Peter Fritzson +1 more
- 03 May 1993
Ehud Shapiro
- 14 Apr 1983
Henrik Nilsson,Peter Fritzon +1 more
- 26 Aug 1992
Guy Lapalme,Mario Latendresse +1 more
- 01 Sep 1992