On 12/1/05, Matt Diephouse <[EMAIL PROTECTED]> wrote: > After many months and lots of work, I'm happy to present you with the > latest namespace spec draft. Comments are most welcome: to quote Chip, > "The rest of the discussion would benefit from more eyes." > yay! your hard work shows... this was worth waiting for. i'm going to be like everyone else and say this will take some time to digest, but i have a question now.
> Naming Conventions > For interoperability, languages should use hierarchical namespaces. > There's no way to outlaw flat namespaces, of course, and that remains an > option for language implementors, but a standard must be chosen for easy > interoperability, and hierarchical seems to be the better choice. > > HLL Private Namespaces > HLLs should use a namespace with an underscore and the lowercased > name of the HLL to store any private items. For instance, Tcl should > use the "_tcl" namespace to store the subroutines that make up the > compiler. > i don't understand the reason for lowercasing in namespaces. i mean, won't there be collisions if someone creates a PERL compiler? perhaps you could elaborate on this point a bit. > User Defined Namespaces > All HLLs should prefix any namespaces with the lowercased name of > the HLL (so there's no question of what to capitalize). So Perl 5's > CGI module should be stored under perl5::CGI. This eliminates any > accidental collisions between languages. > why would there be a question of capitalization if the HLL name is used as is, instead of lowercased? (e.g. Perl5::CGI.) or, in the case of my example above, PERL::CGI and Perl::CGI. i understand it looks like there won't be a Perl namespace, but one for each version, but i'm sure you get the point. maybe i don't understand who (or what) is responsible for doing the capitalization. ~jerry