2003
DOI: 10.1007/3-540-44854-3_11
|View full text |Cite
|
Sign up to set email alerts
|

Transforming Haskell for Tracing

Abstract: Hat is a programmer's tool for generating a trace of a computation of a Haskell 98 program and viewing such a trace in various different ways. Applications include program comprehension and debugging. A new version of Hat uses a stand-alone program transformation to produce self-tracing Haskell programs. The transformation is small and works with any Haskell 98 compiler that implements the standard foreign function interface. We present general techniques for building compiler independent tools similar to Hat … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
27
0

Year Published

2003
2003
2019
2019

Publication Types

Select...
3
2
2

Relationship

3
4

Authors

Journals

citations
Cited by 16 publications
(27 citation statements)
references
References 6 publications
(6 reference statements)
0
27
0
Order By: Relevance
“…The tracing of lazy functional languages has received a reasonable amount of attention in the literature (Watson 1997;Gibbons and Wansbrough 1996;Goldson 1994), but none of these systems have progressed to usable tools, except for Hat (Chitil et al 2002), which is currently the most substantial debugging tool available for Haskell. Like Buddha, Hat is based on a program transformation.…”
Section: Program Tracers and Declarative Debuggingmentioning
confidence: 99%
See 1 more Smart Citation
“…The tracing of lazy functional languages has received a reasonable amount of attention in the literature (Watson 1997;Gibbons and Wansbrough 1996;Goldson 1994), but none of these systems have progressed to usable tools, except for Hat (Chitil et al 2002), which is currently the most substantial debugging tool available for Haskell. Like Buddha, Hat is based on a program transformation.…”
Section: Program Tracers and Declarative Debuggingmentioning
confidence: 99%
“…A large amount of research, including several PhDs, has gone into debugging functional languages in general and Haskell in particular (Nilsson 1998;Sparud 1999;Pope 2006;Ennals and Peyton Jones 2003a). The most prominent working debuggers for Haskell are Hat (Chitil et al 2002) and Hood (Gill 2000). Hat is a sophisticated system, with a suite of powerful tools, based on solid research.…”
Section: Introductionmentioning
confidence: 99%
“…The expected result of the program is the ordered list [3,4,5], but when executed the program prints [3,5,4] instead. The program uses many standard library functions such as ++ and foldr that are trusted, that is, assumed to be correct.…”
Section: Background Observation and Ideamentioning
confidence: 99%
“…where the counter model can be reconstructed by taking [2] for xs (the first argument of the property), and [-2,1] for ys (the second argument). We will later see how we can use tracing to see what actually happens with the functions in a property when running it on a failing test case.…”
Section: Defining Propertiesmentioning
confidence: 99%
“…In these lecture notes we concentrate on QuickCheck [3,4], a tool for testing Haskell programs, and Hat [15,2], a tool for tracing them. Each tool is useful in its own right but, as we shall see, they are even more useful in combination: testing using QuickCheck can identify failing cases, tracing using Hat can reveal the causes of failure.…”
Section: Introductionmentioning
confidence: 99%