[racket] Saving function bodies in Beginning Student Language

From: Gregory Marton (gremio at acm.org)
Date: Mon Jun 27 15:14:01 EDT 2011

> On Jun 27, 2011, at 2:40 PM, Gregory Marton wrote:
>> This is also important because, at the moment, WeScheme doesn't have a stepper, and DrRacket's stepper has a (reported) bug about relative teachpack paths, so using the stepper has been challenging.
> I haven't seen this bug report but that's definitely something to be looked into. I'll forward the message to people who can

It's here: 

>> More generally, I think facilities like procedure-source would be useful to others writing pedagogical software with the beginning student language or other student languages.
> The stepper does know how to recover the source of a procedure with just such a trick. And yes, when Stephen Chang constructed the stepper for the lazy language, it came up too.
> ;; ---
> For your specific task, you may wish to look into Redex. We tend to think 
> of Redex as a programming language modeling tool, but Robby uses it in 
> his classroom presentations to show reduction sequences for specific 
> functions. Since Redex is hosted within Racket, you could also hook up a 
> gui or a web browser or whatever to show things.
> (One of the things we discovered a couple of years back is that Redex is 
> a fantastic way to show probabilistic algorithms, but now we're beyond 
> middle school :-) a bit)

Thanks -- I'll look into Redex.

An important piece of this is that I'd like to present the trace/stepper 
alongside the working game, for context.  I can build a nice presentation 
with procedure-source, and I think a generic tool like this might support 
other cool things we haven't even though of yet, so it would be nice to be 
able to turn that on in some context.


------ __@   Gregory A. Marton                 http://csail.mit.edu/~gremio
--- _`\<,_                                                     617-858-0775
-- (*)/ (*)    Artificial Intelligence is no match for Natural Stupidity.

Posted on the users mailing list.