Abstract

Tracing and Debugging Haskell Programs with Hat

The lack of tools for tracing and debugging has deterred software developers from using Haskell. The tracing method of conventional debuggers is unsuitable for a lazy functional language such as Haskell. I will present Hat, a Haskell tracer which is currently developed within an EPSRC project at the University of York. The trace shows the relationships between values and redexes evaluated during a program run. The trace is explored by walking backwards from a value to the redexes that lead to the creation of the value. I will discuss the design, usage and implementation of the system and finally mention some problems of the current system. If time permits, I will also shortly present two other systems for tracing Haskell, namely Freja and Hood.