[racket-dev] stepper UI question

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Thu Aug 26 13:21:01 EDT 2010

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

Posted on the dev mailing list.