Brian Mastenbrook scripsit: > What do you mean by procedure redefinition, and how does it differ > from variable redefinition?
Note the word "calls" vs. "uses". I meant to allow for the possibility that a compiler had inlined calls to procedures, but not simple references to variables whether procedure-valued or otherwise (which would be the same as treating the variables as constants). I am assuming, perhaps falsely, that no systems fail to expand macros at definition time. > If I re-load a library, am I creating a fresh set of syntactic > bindings, or altering the existing set? Here's my mental model: 0) We load files, we import modules. 1) Loading a file is the same as typing its contents (or its source, if it is compiled) to the REPL, whether or not it's been loaded before. 2) There are modules, and then there is the top level, which behaves like a module too. Top-level definitions in any module alter the environment in that module. 3) Importing module foo into module bar causes the exported definitions of foo to be as if typed into bar, but of course hygienically with respect to the names used therein. So when I load a file, any definitions not in modules alter the top level, and any definitions in modules affect that module, but *not* any other modules unless (re)imported into them. -- A witness cannot give evidence of his John Cowan age unless he can remember being born. [email protected] --Judge Blagden http://www.ccil.org/~cowan _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
