[plt-scheme] Incremental development with DrScheme or MzScheme

From: Matthias Felleisen (matthias at ccs.neu.edu)
Date: Sun Oct 7 14:49:03 EDT 2007

On Oct 2, 2007, at 8:09 PM, Austin King wrote:

> Howdy,
> I would like to start a long running process and then redefine parts
> of the Scheme code, recompile, and have the long running process pick
> up these changes.
> My understanding is that DrScheme Run button cleans out the
> environment for the "Definitions" and "Interactions" windows. Is this
> correct? Clicking 'Run', I see it kill my running GUI and start a
> fresh copy.

Your message appears to confuse the development phase with the
deployment phase, like in the old days of Lisp. If I am wrong,
please correct me.

The purpose of DrScheme is to help you develop programs, for
both novice programmers and experienced professionals who
develop large multi-module systems.

The purpose of mred/mzscheme is to provide a run-time environment
for possibly long-running processes into which you can link in
new code or even code that replaces existing code.

I could see an argument for saying that the two should be the
same so that you can test what re-loading old code or loading
new code does to a context. But you can do so with load already:

 > (f 22)
 > (load "Desktop/bar.ss")
 > (f 22)

In other words, you get your cake and you can eat it. -- Matthias

> Should I use (load "foo.scm") from the interactions window to reload
> changed code? For partial load/compilation just copy and past s-exp
> that I want to re execute?
> I am looking for something like SLIME+sbcl where I can compile an
> s-exp and this immediately shows up in the running environment. If
> this isn't possible, then a pointer to good workflow for DrScheme.
> Thanks.
> Congratulations on an excellent project.
> -- 
> Thanks,
> Austin King
> _________________________________________________
>   For list-related administrative tasks:
>   http://list.cs.brown.edu/mailman/listinfo/plt-scheme

Posted on the users mailing list.