+1<br><br>I like Goran solution. Its true that only fixes the "prefix" problem and not the "namespace" problem, as Andreas pointed out. But to me that is not a bad thing. its one step further to make Squeak a little more comfortable.
<br><br>Regards,<br>Hernán<br><br><div><span class="gmail_quote">On 29 Nov 2006 15:59:41 +0100, <b class="gmail_sendername">Lex Spoon</b> <<a href="mailto:lex@cc.gatech.edu">lex@cc.gatech.edu</a>> wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Andreas Raab <<a href="mailto:andreas.raab@gmx.de">andreas.raab@gmx.de</a>> writes:<br>> Generally speaking, I'm -1 on the proposal, mostly because what the<br>> proposal doesn't achieve is to make a real step towards enabling
<br>> scalability of development (which to me is really what we're<br>> after). That's because the *author* of some code still needs to find<br>> unique names (prefixes) that do not conflict with the rest of the<br>
> world and that a "change of prefix" becomes very, very expensive<br>> because it's literally like renaming all of the classes at once (and<br>> consequently breaking all of the code that uses any name from that
<br>> "prefix space").<br><br>It's a good observation. Nonetheless, a hierarchical global namespace<br>seems a good step forward over a flat global namespace. I do not know<br>about *this* system, but in general I would love if global variables
<br>and classes had long hierarchical names. Using the existing class<br>categories would seem great for that.<br><br>Right now, responsible programmers already fake a hierarchical<br>namespace by putting prefixes in front of all their global names. At
<br>the very least, it would be nice to support this practice in the<br>programming language. Ideally, you can even use long names<br>("Monticello") instead of short prefixes ("MC") and thus greatly<br>
reduce the chance of conflicts.<br><br>In practice, I bet it's not so hard to pick prefixes that are unique<br>in the contexts the package will be used in. Most of the time, you<br>can just use the name of the project, which you have surely already
<br>gone to some efforts to try and make unique. If nothing else, all the<br>open-source projects would benefit!<br><br><br>Finally, keep in mind what the great naming systems you describe for<br>the future would look like. They will probably still have path-based
<br>identifiers! The only difference from hierarchical names would likely<br>be that the path can start from somewhere other than a single global<br>root. Thus, a flexible hierarchical-naming system would seem like a<br>
good basis for the kind of naming system you are thinking about. (In<br>particular, you would want Foo::Bar to really mean "Bar" within<br>"Foo"....)<br><br><br><br>-Lex<br><br><br></blockquote></div>
<br><br clear="all"><br>-- <br>Saludos,<br>Hernán<br>