<div dir="ltr">
<div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">> Why can't we have the same clear ordering everywhere for namespaces?<br>
<div class="im">
> What's wrong with having namespaces take on the same kind of ordered<br>
> semantics that modules have?<br>
<br>
</div>This would require namespaces to have closed definitions. This would<br>
require a completely different model from the one I have proposed. It<br>
would be less flexible, less powerful, less lightweight, and probably<br>
harder to use. <br></blockquote><div class="im">
...<br>
</div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">A closed definition is one of the constraints forced on modules by their<br>
need to be represented at run-time as a record. One of the motivations<br>
for namespaces is to provide a system for containing modules that is not<br>
bound by these restrictions. I don't see it as looking for a break with<br>
the semantics of modules, so much as implementing a more flexible<br>
semantics than what is possible with modules.<br>
<div class="HOEnZb"><div class="h5"><br></div></div></blockquote>This is one thing I don't quite understand. Yes, modules are implemented as records at runtime, but there's no requirement that namespaces have any runtime representation; I don't see why they can't exist at compile time only as something to make changes to the compilation environment when invoked (open or # or whatever). As far as the open/closed distinction, hasn't gasche has gone over this; they can be treated as closed by the compiler during compilation even if they're open all the rest of the time. <br>
<br></div><div class="gmail_quote">E.<br></div></div></div>