[racket-dev] stepper UI question

From: Robby Findler (robby at eecs.northwestern.edu)
Date: Thu Aug 26 13:56:41 EDT 2010

I can see how to do what Mattgias is suggesting at the snip level (so
not as bad as I made out) but you won't get nested scroll bars so you
might not like it.

Robby

On Thursday, August 26, 2010, Shriram Krishnamurthi <sk at cs.brown.edu> wrote:
> Understood.  But I think this is what Robby is saying is very
> difficult to implement correctly, and he's suggesting we put it in a
> different window at least for now so that we don't get bogged down in
> the details of the Interactions window.  Right, Robby?
>
> Shriram
>
> On Thu, Aug 26, 2010 at 1:21 PM, Matthias Felleisen
> <matthias at ccs.neu.edu> wrote:
>>
>> 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.