[racket-dev] stepper UI question
On Aug 26, 2010, at 11:59 AM, Shriram Krishnamurthi wrote:
> Anyone else have comments/suggestions?
Robby's idea of allowing students to choose how a RUN actually worked occurred to me too but I had a different behavior in mind. Instead of opening a separate window, I'd much rather see a step-by-step evaluation in the repl.
Here is what I have in mind assuming (f x y) (sqrt (+ (sqr x) (sqr y))) is in the Definitions area:
> (f 3 4)
5 { STEP }
If STEP is clicked, the following line appears:
==> (f 3 4)
and the student has the option of seeing the rest of the reduction sequence:
==> (f 3 4)
==> (sqrt (+ (sqr 3) (sqr 4))
==> (sqrt (+ 9 (sqr 4))
==> (sqrt (+ 9 16))
...
Each line highlights the contractum.
The penultimate line highlights the redex.
Each step is generated in response to a student action (return or click of button or keyboard shortcut). Students should have actions available to skip to the next function application, conditional, or primitive operation.
;; ---
Thanks for tackling that.
Do keep in mind that Stephen is working on adapting the stepper (guts) to the Lazy language too.
-- Matthias