[plt-scheme] stepper interface suggestion for "start-from-here"?
On Apr 10, 2009, at 8:52 PM, John Clements wrote:
> A few weeks ago Jay McCarthy suggested a feature for the stepper
> that was so obvious that I had to implement it (also, I have a
> sneaking suspicion that others must have suggested it): starting to
> step at a specified expression, rather than from the beginning.
I presume you mean that the Definitions pane would execute from the
beginning, but the Stepper would only go into effect at the specified
expression.
I had initial some ideas about a UI for this, but then started
thinking about my long-standing request to have the Stepper work in
the Interactions pane as well as the Definitions pane, and how to do
both of these things in a consistent way (from the user's
perspective)... and I came up with something much more powerful. How
does this sound?
1) Provide a "step" form that opens a Stepper window to evaluate its
argument. This form would be invokable from either Definitions or
Interactions. If invoked when there is no MrEd window open at all,
it would simply evaluate its argument. If invoked from within an
expression that's already being Stepped, it would be ignored.
2) Provide a miniature "foot" icon that's an abbreviation for the
"step" form, just as an apostrophe is an abbreviation for the "quote"
form, or the lambda symbol is an abbreviation for "lambda".
3) Anywhere in the Definitions pane (whether at the top level or
inside a function definition), or anywhere in a yet-unevaluated line
in the Interactions pane, you can right-click and insert (or remove)
a "foot" icon, i.e. a "step" form around the immediately-following
expression.
This gives you effectively the multiple-breakpoint capability of
BlueJ's debugger, plus the ability to invoke a Stepper on any portion
(s) of interactively-typed code without removing your hands from the
keyboard.
Stephen Bloch
sbloch at adelphi.edu
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20090412/dc67eb09/attachment.html>