Sciweavers

HASKELL
2009
ACM

Finding the needle: stack traces for GHC

13 years 11 months ago
Finding the needle: stack traces for GHC
Even Haskell programs can occasionally go wrong. Programs calling head on an empty list, and incomplete patterns in function definitions can cause program crashes, reporting little more than the precise location where error was ultimately called. Being told that one application of the head function in your program went wrong, without knowing which use of head went wrong can be infuriating. We present our work on adding the ability to get stack traces out of GHC, for example that our crashing head was used during the evaluation of foo, which was called during the evaluation of bar, during the evaluation of main. We provide a transformation that converts GHC Core programs into ones that pass a stack around, and a stack library that ensures bounded heap usage despite the highly recursive nature of Haskell. We call our extension to GHC StackTrace. Categories and Subject Descriptors D.3.2 [Programming Languages]: Language Classifications—Haskell
Tristan O. R. Allwood, Simon Peyton Jones, Susan E
Added 28 May 2010
Updated 28 May 2010
Type Conference
Year 2009
Where HASKELL
Authors Tristan O. R. Allwood, Simon Peyton Jones, Susan Eisenbach
Comments (0)