[plt-scheme] On-demand module reloading
On Fri, Jul 3, 2009 at 2:21 AM, Noel Welsh <noelwelsh at gmail.com> wrote:
> Hello,
>
> 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.
>
IIRC, scheme/enter works at the top-level and "enters" into the namespace of
the module you are loading. My guess is that you are looking for something
similar to what I asked about in the following thread:
http://list.cs.brown.edu/pipermail/plt-scheme/2008-October/028094.html
I implemented a mechanism call dyn-require that mimics dynamic-require,
which checks whether the module had changed and reload if necessary.
The basic idea is to replace
(dynamic-require <module> 'symbol)
to
(dyn-require <module> 'symbol)
This doesn't handle dependency reloading (I thought about it but it seems to
open a can of worms so I didn't go down that route) and can share
dependencies as well (to ensure the depended structs are the same ones).
If this sounds like what you are looking for - let me know and I'll send you
the code.
Thanks,
yc
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.racket-lang.org/users/archive/attachments/20090703/4e4b549d/attachment.html>