Is there a (semi) widely used debugger for haskell?
Conversation
basically the answer is no. No functional language has a good debugger, and this is a serious oversight FP people refuse to admit (no offense but it's almost a meme that people say "just use printf" for ocaml/haskell/racket/...). The only one that works is F#'s .NET debugger.
5
9
I hear really good things from my colleagues about Mercury's debugger – with support for declarative debugging and high performance record and replay. But then… nobody uses Mercury. 😳
1
1
Also you have to be comfortable with GDB-style tooling (as opposed to one more like Intellij or VS Code).
To be clear, 'nobody' is being overly dramatic – we still use it, along with another company I think, and some people in their spare time? But it's still vanishingly small.
1
1
But yeah, declarative debugging is seriously cool from what I hear – a bit like git bisecting the call graph to pin-point your bug. IIRC there was a version implemented for Haskell back in the day, but it might have bitrotted?
Here's some links to some of that research:
- people.eng.unimelb.edu.au/lee/papers/dd.
- minerva-access.unimelb.edu.au/bitstream/hand
I'm not an expert in this area, so I can't tell you if this is the best place to start though. Just think it would be sad if this stuff was forgotten about!
1
4


