Debugging Haskell by Observing Intermediate Data Structures
TL;DR: A portable debugger for full Haskell is described, building only on commonly implemented extensions, based on the concept of observation of intermediate data structures, rather than the more traditional stepping and variable examination paradigm used by traditional imperative debuggers.
read more
About: This article is published in Electronic Notes in Theoretical Computer Science. The article was published on 01 Aug 2001. and is currently open access. The article focuses on the topics: Haskell & Debugger.
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
Dynamic Binary Analysis and Instrumentation
Nicholas Nethercote
- 01 Jan 2004
TL;DR: This dissertation advances the theory and practice of dynamic binary analysis and instrumentation with an emphasis on the importance of the use and support of metadata, and shows that metadata is the key component of dynamic analysis.
Multiple-View Tracing for Haskell: a New Hat
Malcolm Wallace,Olaf Chitil,Thorsten Brehm,Colin Runciman +3 more
- 01 Sep 2001
TL;DR: This work presents the design of a trace that can serve several views, which is generated and written to file as the computation proceeds.
74
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
Redux: A Dynamic Dataflow Tracer
Nicholas Nethercote,Alan Mycroft +1 more
TL;DR: It is shown how dynamic dataflow graphs give the essence of a program's computation, and how Redux can be used for debugging and program slicing, and a range of other possible uses are considered.
66
Haskell program coverage
Andy Gill,Colin Runciman +1 more
- 30 Sep 2007
TL;DR: The design, implementation and use of HPC, a tool-kit to record and display Haskell Program Coverage, includes tools that instrument Haskell programs to record program coverage, run instrumented programs, and display information derived from coverage data in various ways.
References
•Book
Algorithmic Program Debugging
Ehud Shapiro
- 14 Apr 1983
TL;DR: An algorithm that can fix a bug that has been identified, and integrate it with the diagnosis algorithms to form an interactive debugging system that can debug programs that are too complex for the Model Inference System to synthesize.
1.2K
QuickCheck: a lightweight tool for random testing of Haskell programs
Koen Claessen,John Hughes +1 more
- 01 Sep 2000
TL;DR: QuickCheck is a tool which aids the Haskell programmer in formulating and testing properties of programs, and can be automatically tested on random input, but it is also possible to define custom test data generators.
Why functional programming matters
TL;DR: In this article, the authors show that higher-order functions and lazy evaluation of functional languages can contribute significantly to modularity and that modularity is the key to successful software development.
Declarative debugging for lazy functional languages
Henrik Nilsson
- 01 Jan 1998
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.
187
Related Papers (5)
Malcolm Wallace,Olaf Chitil,Thorsten Brehm,Colin Runciman +3 more
- 01 Sep 2001
Henrik Nilsson
- 01 Jan 1998
Henrik Nilsson,Jan Sparud +1 more
- 01 Apr 1997
Ehud Shapiro
- 14 Apr 1983
Koen Claessen,John Hughes +1 more
- 01 Sep 2000