<br><div class="gmail_quote">On Fri, Oct 24, 2008 at 6:53 PM, Matthew Flatt <span dir="ltr"><<a href="mailto:mflatt@cs.utah.edu">mflatt@cs.utah.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
</div>The `enter!' form of `scheme/enter' re-loads a module when its file<br>
timestamp changes --- as long as the module was originally loaded via<br>
`enter!'.<br>
</blockquote><div><br>Matthew - this is way cool! From the implementation it seems that the core ideas are:<br><br>1. use custom load/used-compiled-handler to keep track of module dependencies and timestamps <br><br>2. when loading a module, verify that its dependency also needs to be reloaded. <br>
<br>3. `eval` *is* what causes the module to be recompiled.<br><br>The part where I don't understand the usage of `module->namespace` to reset `current-namespace`. Doesn't that mean if I have symbols introduced via other means they are no longer visible? <br>
<br>Thanks,<br>yc<br><br></div></div>