[racket] big-bang!
On Nov 29, 2010, at 6:56 PM, Gregor Kiczales wrote:
> In merging the mutable variables part of 1e with the universe of 2e, one thing we do is move world state into a state variable. Doing that is nice because it shows a classic use of mutable variables.
Exactly. And it is even better to do so in an OO context, where inheritance is used to override the default methods of the big-bang class (HTDC does this in some sense).
> But its awkward to have to tell students something like "to keep big-bang happy we have to let it pass around something, lets let it think the world state is 1".
The key is for the instructor to provide a teachpack that is appropriate.
> I'm wondering whether anyone tried making a big-bang! in which big-bang doesn't pass (or expect to receive) world state? I'm not asking about implementing it since that's easy. I'm asking about whether anyone has tried doing it and switching to that when they switch to state variables?
I did so a year ago for the MS-level HtDP course. Either way -- set! based or class based -- works like a charm. This year's instructors are doing it too.
Holler if you need help equipping the teachpack with proper error checking etc. -- Matthias