-
Notifications
You must be signed in to change notification settings - Fork 8
Description
Originally, the debugger only displays the free variables in the expression that one is currently stopped at. This is unintuitive and doesn't play well with features such as watch breakpoints.
The motivation for not including all variables in the scope was given in the original debugger paper: https://simonmar.github.io/bib/papers/ghci-debug.pdf. In summary, the issue was with the resulting performance of their implementation when all variables in the scope were stored at every breakpoint.
We should re-establish the cost of doing this and consider potentially better structures for keeping the source-level variables of each scope while stepping-through, such as the ones described for free variables in https://www.cs.princeton.edu/~appel/papers/debugger.pdf