[plt-scheme] PLT's debugger philosophy

From: Gregory Cooper (greg at cs.brown.edu)
Date: Tue Feb 12 16:20:22 EST 2008

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!

Posted on the users mailing list.