Larry Wall wrote:
I think there can be some kind of community metainformation that sets
defaults appropriately. And if not, the site/project can certainly
establish defaults. On the other hand, a lot of projects do simply
want to specify the version and author explicitly eveyr time,
and they'd rather tweak it by hand (or by script) if they want to
change it, since then at least they know when they need to rerun the
regression tests.
I think it's a laudable idea in theory, but not necessarily application.
I've done quite alot of Perl programming, and I've never run into this
personally. Who has? (Really, I'm being serious.) Are there really
multiple modules sharing interchangeable interfaces? Or instances where
we want to allow the same name to mean different concepts depending on
the author?
There's no logical difference between:
use DBI:TIMB
use DBI:JEFFSTER
And:
use TIMB::DBI
use JEFFSTER::DBI
Anyways, I don't like the idea of people being able to upload
identically named modules to CPAN. I think that's a very bad idea. See
Rob Kinyon's message.
You mean the "pattern matching" characters on the dispatcher? Or the
method declaration syntax? Which part is making your head spin?
Yes. :-)
But now you're changing your complaint. If we apply your previous
complaint to this, in many cases we're doing that redesign *precisely*
to fix the thing you're complaining about--too many special cases for
one instance...only it's Perl 5 that's the culprit here, not Perl 6.
In Perl 6 we've greatly regularized the special cases and reserved
most of the special syntax for common cases. Or more precisely, for
what we *suspect* will be common cases in the future, not necessarily
the common cases in the past.
And I think that's actually my problem right now. Back when Perl 6
design started in 1999/2000 (and we wrote all the original RFC's), we
were careful not to throw the entire enchilada out. Perl 5 is enormously
successful because is solves *actual* problems, not *suspected* problems.
And, it shares alot with other languages people know and use.
Right now the design is going towards something that's very very
un-Perlish from a syntax standpoint. Sure, the philosophy's there, but
there are fewer and fewer things Perl 6 shares with Perl 5 (or other
widely-used languages).
And there are many superflous changes, such as using $0 as the first
match, where every other accepted regex engine/program on the planet uses 1.
Anyways, I'm not trying to rant or be obstructive (really); I am simply
trying to provide a slightly different perspective on a few things.
-Nate