[plt-dev] crash and burn

From: Dave Herman (dherman at ccs.neu.edu)
Date: Wed Feb 18 17:32:04 EST 2009

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



Posted on the dev mailing list.