Skip to content

feat: Variables free in the scope rather than in the expression #109

@alt-romes

Description

@alt-romes

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

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions