Haskell Debugging Technologies

The Haskell community has a number of great compilers and interpreters, but no great debugger. This page summarizes the work currently being done by the Haskell community to provide ways of debugging lazy functional languages. This area of research is very active, and hopefully  we will get our great debugger soon.

Debugging Technologies is a broad camp, including profilers and automated testing tools. I appreciate any and all help compiling this information, including summaries of specific techniques or tools, web page references, etc. Later, this page will move onto the haskell.org web site.

Debugging Techniques

First, we have a list of the various debugging techniques and technologies.

Debugging Techniques

Tracing Debuggers
Declarative Debuggers
Profiling Tools
Testing Frameworks
Interpreters

Debugging Tools

Next, we have a list of debugging tools available right now for Haskell98. I've not listed the profiling tools, because all the compilers come with some version of profiling, though their capabilities vary considerably - see the individual documentation for each compiler for more details. Hopefully at some point in the future, all the compilers will also come with a debugger :-)

Debugging Tools Available Now (that work on Haskell98)

Basic Technology Tool System
Tracing Debuggers Tracer in nhc nhc
HOOD Haskell 98
A Great Opportunity ?
Declarative Debuggers Another Great Opportunity ?
Testing Frameworks QuickCheck Haskell 98
Auburn Haskell + FFI
Interpreters Hugs

Debugging Activity

This is list of people and projects that are currently active in the Debugging Haskell community. Green means there is a usable tool you can download.

Currently Active Debugging People, Projects and Tools

Style Name Location System/Compiler Status
Tracing ART York, England nhc Just starting ART, is a follow on project to the Redex Trails project.
Richard Watson University of Southern Queensland, Australia
OGI for Summer
Hugs Developing debugger technology in Fall 2000 at OGI.
HOOD OGI Haskell98 +
unsafePerformIO
Demo at Haskell Compiler Implementers Workshop.
Releasing early May.
Declarative Henrik Nilsson Linköping University, Sweden Freja Looking for opportunities push his system further.
Buddha University of Melbourne, Australia STG Hugs/GHC Ongoing development, no release date.
Profiling GHC Cambridge, England GHC, STG Hugs Profiling tools available.
Testing QuickCheck Chalmers, Sweden Haskell98 Library released, work ongoing.
Auburn York, England Haskell + FFI V2.3 Released
Interpreters Hugs OGI Hugs Best Interpreter for Haskell98.
GHCi Cambridge, England GHC, et. al. Ongoing development.

Recently Active People

These are people who have recently been active participants, but have not been seen debugging for a while. If you are still active, then just yell!

Recently Active Debugging People

Style Name(s) Location System/Compiler Last Seen
Debugging
Haskell...
Tracing

Alastair Penney - (FIT)

Bristol, England   1999
Jan Sparud - (Redex Trails) Chalmers, Sweden
York, England
nhc 1997
? Andrew MacGibbon Auckland University Classic Hugs 1997

Useful Links


My understanding is that all the information on this page is public knowledge. I did dig around the web quite a bit to compile this list, so if anyone is unhappy about being referenced or the description of your tool, then please e-mail me, and we'll fix the problem.

This page was last update on Wednesday, October 18, 2000 by Andy Gill