[plt-dev] crash and burn
Matthew Flatt wrote:
> Fixed in SVN.
12 minutes -- I'm impressed. :)
What is the intended behavior? (Tomorrow I can download the nightly
binary and try this out myself, but it might help to clarify this in the
docs.) I ran into this because I couldn't figure it out from the docs.
Some possible semantics I could imagine:
1. The module is compiled with internal links; the removal is only
observable to newly compiled/eval'ed variable references. So `odd?'
continues to work even after removing `even?'.
2. All variable references, even ones compiled in the module, go through
the namespace table, so after the removal, even module code contains
free variable references which become dynamic errors. So `odd?' fails
dynamically after removing `even?'.
3. The removal is illegal and raises an error; you can't remove
variables from module namespace.
4. The module namespace actually contains some sort of internal parent
pointer to another top level namespace, and the removal is performed on
the top level namespace, not the module namespace.
Is any of these close?
Thanks,
Dave