Jan Ingvoldstad wrote:
On Fri, Jul 30, 2010 at 11:27, Steffen Schwigon <s...@renormalist.net> wrote:
Just an opinion: imho every effort should go towards integrating CPAN
in any way.
Maybe any of those META2.0, cpanminus, CPAN::Packager,
CPAN::Dpendency, MyCPAN::*, POD6 thingies could be assembled into
something to integrate Perl6 with CPAN?
There is a problem with that, and that is that we may want to re-use the
same package names that are already in use on CPAN, in order to avoid evil
Klingon naming contortions (good Klingon naming contortions are of course
QaQ).
I believe that there were good proposals for this made as well as specced a few
years ago for a new or updated format for distributions and metadata so that it
would work for multiple programming languages.
I don't recall the url ATM, though it may be in the Pugs repo.
Part of the deal was having several pieces of metadata that combined for the
fully-qualified name of a module, such as language (eg, Perl_6 vs Perl_5 vs
doc-only vs Javascript etc) plus base name (eg, Foo::Bar::Baz) plus authority
(eg, cpan:DUNCAND or http://example.com) plus version (eg, 1.2.3).
Done this way, distinct languages can have the same module base name
(Foo::Bar::Baz) but the Perl_6 or Perl_5 part would effectively make them not
conflict. Similarly, differing authorities wouldn't conflict, as each one would
typically represent a fork.
A related example from the Perl 6 spec (S11):
use Whiteness:from<perl5>:name<Acme::Bleach>:auth<cpan:DCONWAY>:ver<1.12>;
use Whiteness:from<perl5 Acme::Bleach cpan:DCONWAY 1.12>; # same thing
... this that the metadata would generalize.
I *really* want to use a multi-language-savvy spec like this to distribute with.
-- Darren Duncan