develooper Front page | perl.perl6.stdlib | Postings from June 2002

Re: More 6PAN musings: local namespaces

Thread Previous | Thread Next
From:
Robin Berjon
Date:
June 16, 2002 17:57
Subject:
Re: More 6PAN musings: local namespaces
Message ID:
0206170255552H.00863@morgaine
On Sunday 16 June 2002 16:08, John Siracusa wrote:
> Well, define "haven't had very many collisions."  I've certainly never
> "reported" mine, but that doesn't mean I haven't had them and been
> frustrated by them!

I've done many client modules as you describe them that weren't fit for 
general distribution. I've never had a clash with any CPAN namespace. I guess 
that the reason for this is that I tend to pick the root namespace rather 
carefully (even though I wasn't aware of the Local::* thing).

Of course, collisions could happen. But then it wouldn't be that much of a 
problem to fix them, I'd say an hour or two on a large project. Using domain 
names has been rejected over and over by the community (with both good and 
bad reasons), and any other scheme is prone to collisions. Imho there's not 
much more we can tell people apart from "be smart, and don't call your CGI 
handling bit CGI.pm".

> And even the stuff that's already in CPAN is kind of a
> mess, hierarchy-wise.

That's a totally different problem :)

> For example, is HTML::Mason really primarily an "HTML" thing?  And just
> look at the various OS-specific modules.  The poor Mac:: modules are just
> sitting out there hoping their top-level prefix doesn't get taken over by
> some as-yet-unknown (but soon to be super-popular) protocol or product. 
> And look what happened when Mac OS X came along.  We get MacOSX:: at the
> top level too.  Where's MacOS:: then?  And does anyone really think LWP::
> is a good top-level name?  With a good, standardized hierarchy, people
> could call their modules by whatever fanciful "product names" they want,
> provided the "LWP"-ish part is prefixed by something more conventional.

A "good, standardized hierarchy" would be nice indeed. The problem is, of 
course, coming up with it. I very much doubt anyone can. Indeed, Mason has 
nothing to do under HTML anymore, LWP is a lousy, AxKit could leave the 
Apache space, a bunch of the XML::SAX::* modules could now go under 
XML::Generator::*.... the list is endless. But the chances that we'd change 
it, and the fact that some of those were historically correct when they were 
decided makes a change rather useless.

A few things could help of course. Namespace aliases are one, a promotion of 
distributions more than two levels deep are imho another. But that's as good 
as it can get I'm afraid.

-- 
Robin Berjon <robin@knowscape.com> -- for hire: http://robin.berjon.com/
  A computer lets you make more mistakes faster than any other
invention, with the possible exceptions of handguns and Tequila.


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About