I’m happy to announce a new release of the new modern step-through interactive debugger (haskell-debugger). You can find installation instructions at GHC Debugger.
Here’s the changelog for haskell-debugger-0.13:
Features:
- Launch the external-interpreter by default directly in the User’s Terminal. That is, the VSCode
terminal will interpret the debuggee directly, and the stdin/stdout connect will be connected to that terminal. - Add support for
import Modulestatements at the debug REPL. - Add logpoints support.
- Support for nightly GHC 9.15, leveraging external interpreter commands.
Bug fixes:
- Fix: Import failed where depended-upon package was incorrectly considered hidden
- Fix: Respond cleanly to DAP client with ErrorResponse on exceptions, rather than crashing the session.
- Fix: terminate/disconnect/terminated wasn’t following DAP properly, resulting in premature exiting crashes
- Fix: Debugger.View.Class cannot be found in certain multi-repl sessions
- Fix: Make custom DebugViews instances work for
newtypes - Fix: Display more unevaluatable closures as
<fn>rather than as thunks_ - Fix: Inherit the language extensions at any given breakpoint source to the REPL
- Fix: Don’t print certain evaluation results in duplicate
- Fix: Set scopeExpensive=true for Module and Global
Additionally, the debugger internals and the testsuite were considerably
refactored and improved, paving the way for better, faster changes, with more
confidence.
The debugger is supported starting from GHC 9.14, so do try it out on your project if you can.
Bug reports are welcome at github.com:well-typed/haskell-debugger!
This work is sponsored by Mercury and implemented by me (Rodrigo), Andrea Vezzosi, and @fendor, at Well-Typed