[plt-scheme] PLT's debugger philosophy

From: Eli Barzilay (eli at barzilay.org)
Date: Tue Feb 12 16:04:06 EST 2008

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.