On Mon, Nov 14, 2011 at 9:04 PM, Todd O'Bryan <toddobryan at gmail.com> wrote:
> I should have been clearer. It is compile-time errors. Runtime work fine.
Ok, cool.
I have this problem myself, but as a professional programmer, I use a
revision control system like 'git' to save my hide. The basic idea is
that I checkpoint every so often, and the revision control system
allows me to go backwards and forwards in time with minimal penalty.
It almost lets me treat the writing of a program as a game tree,
letting me explore possibilities. But it's ridiculous to expect
beginners to learn a revision control system.
I'd like to change your feature request a bit, if you don't mind! It
would be awesome if a DrRacket extension can support a lightweight,
single-file revision system that's aimed for beginners to do time
travel. Or, more radically, adopt the game-tree approach, if the UI
could be made intuitive enough. Call it DrWho or something like that.
Checkpoints would be triggered by Run, with no prompting from the
user. I imagine an interface like a number line, each node
representing a previous Run. Each checkpoint could be labeled as
syntactically valid or not with an icon or color, since the Run button
must do a compile before it executes. Green: the program is
syntactically valid and passes test cases, yellow: it's syntactically
valid but violates tests, red: it fails compilation outright.