[plt-scheme] PLT's debugger philosophy

From: Guillaume Marceau (gmarceau at cs.brown.edu)
Date: Wed Mar 12 00:31:45 EDT 2008

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


Posted on the users mailing list.