GHCi debugger tasks
I'm collecting all these together into one ticket for now. Later we might split off individual tasks. Please update the description if you complete one of these.
- Autocompletion for :break only provides names, not modules
- :force should catch exceptions, so [1,2,undefined] would display as
[1,2,< exception >]
- show variables with unboxed types.
- tabs go wrong with :list (but only for .lhs files, because unlit does tab expansion... duh)
unknown, or require thinking about
Some kind of "step over" or "next" command is needed.
:break <qualified name>only works if the name is exported can/should we relax this?
perhaps we should have a :watch command, that could be used to save variables for future inspection (they wouldn't get
thrown away by :continue)
Revert to adding tick information to the BCO directly, and remove the byte code instructions for breaks. I'm not sure that this is worth it. In some ways the implementation based on a byte code instruction is a little cleaner than adding breaks on BCOs directly. Though the bc instruction method may be a little slower than the other way.
When we restore the interactive context on resume, we throw away any new bindings made since the breakpoint. Can this
threads and breakpoints.
if a :force results in a breakpoint, we should treat it as we do other evaluations. (currently we get
"*** Ignoring breakpoint").
It's a bit strange that in "f = e" you don't get a breakpoint covering the whole binding, but in "f x = e" you do.