Abstract
Debugging and Tracing Functional Programs
Programmers need support for debugging programs written in functional
programming languages. Conventional debugging methods and tracing
tools are ill-suited for these languages, in particular pure, lazy
languages such as Haskell. Hence different methods and tools that are
arguable more powerful have been developed. These tracing tools and
debugging methods take advantage of the simple semantics of pure
functional languages, that is, explicit data flow and absence of side
effects. The view presented by a tool is often inspired by a
particular semantic formalism. I will describe and demonstrate several
methods and tools and compare them.