[plt-scheme] On-demand module reloading

From: Noel Welsh (noelwelsh at gmail.com)
Date: Fri Jul 3 05:21:25 EDT 2009


It would be a big productivity boost for certain applications to have
on demand module loading. This means something like scheme/enter: scan
the filesystem and reload any modules that have changed since the last
time the code was run.

Is there any downside to just using scheme/enter? Scanning the code,
it seems the use of [compile-enforce-module-constants #f] will slow
things down. I can't see any other downside, and it should be possible
to get around this by loading the code into a new namespace each time.

Another question: what actually stops modules being reloaded by
default? The docs make reference to the module registry, but there are
no details.

[Long term I'd like to implement an incremental compiler using
something like select/kqueue/epoll/libevent/libev to detect when files
change, but I'll settle for a pure Scheme polling solution to start.]


Posted on the users mailing list.