[plt-scheme] PLT's debugger philosophy
The macro MZTAKE-TOP in drscheme/collects/mztake/mztake.ss implements
the handling of lexical variable.
If you are still looking for a way to implement this, it could serve
as an example.
On Tue, 12 Feb 2008 16:20:22 -0500
"Gregory Cooper" <greg at cs.brown.edu> wrote:
> There's also a channel that the debugger can use to send in code for
> evaluation by the paused program. That would have the right namespace
> already, so you'd just need to handle the lexical variables.
>
> On 2/12/08, Eli Barzilay <eli at barzilay.org> wrote:
> > On Feb 12, Felix Klock's PLT scheme proxy wrote:
> > >
> > > Do you mean that the debugger is just missing an input field where
> > > the user would be able to type an expression for the runtime to
> > > evaluate in the context of the environment where the debugger has
> > > paused?
> >
> > Actually, that's probably not too hard to add... The debugger's
> > annotations are sort of like extending your code so that every time a
> > new binding is created, it registers in a parameter the name together
> > with a getter/setter function. So all you need is to know which
> > module the code lives in -- then when you break, start with a copy of the
> > `module->namespace' of that module, and add bindings for all known
> > identifiers that make them available as plain bindings in that
> > namespace. The result should be a contextual repl.
> >
> > --
> > ((lambda (x) (x x)) (lambda (x) (x x))) Eli Barzilay:
> > http://www.barzilay.org/ Maze is Life!
> >
> _________________________________________________
> For list-related administrative tasks:
> http://list.cs.brown.edu/mailman/listinfo/plt-scheme