Status of exception handling

What's the status of exception handling? A couple of years ago, I think it wasn't clear how to do that in the Haskell context. Are there any GHC extensions which provide means to retry on temporary errors, without passing too much status around? I've seen on the Wiki that backtraces are still an issue. I understand that the execution environment doesn't really provide them at reasonable cost, but I wonder if there are any tools to figure out, based on a core dump, why the exception was raised. I don't really need a traditional backtrace for that, I think. Information where the program would go next would be equally helpful, as long as it's possible to get to a piece of use-written code that is somewhat near the place where the actual bug lies. Even something as terse as Perl's error messages would better than nothing. (Perl's error reporting optionally uses the location of the first cross-module caller to pinpoint the error message; this is not necessarily close to the error, but better than pointing to an internal location.)

fw:
What's the status of exception handling? A couple of years ago, I think it wasn't clear how to do that in the Haskell context. Are there any GHC extensions which provide means to retry on temporary errors, without passing too much status around?
We use exceptions freely, though they do tend to be used for the more exceptional events. Check Control.Exception for the full story, and some other things in Control.Concurrent. -- Don
participants (2)
-
Don Stewart
-
Florian Weimer