On Sun, Jan 3, 2010 at 9:28 AM, brian d foy <brian.d....@gmail.com> wrote:
> The crux of the problem is how the tools translate a module that you
> want to install and discover which distro to download.

brian is right about issue we already have with Perl 5 and Perl 6 only
complicates things further from what I understand of how it supports
modules from multiple authorities.  (At least, that last time I looked
at the spec which was probably at YAPC::NA)

There is a fundamental decision to be taken -- should we try to have a
common indexing system across both languages?  Or should we design the
indexing specific to the unique semantics of each?

For Perl 5, we now have a single index that maps a Perl 5 namespace to
a distribution file.  (It's slightly more complicated in that there's
an indication of the version number of that namespace provided by the
distribution, but that's for convenience and is not essential.)

Moreover, we have a toolchain that specifies dependencies only terms
of namespaces and (usually) minimum version numbers.  This means there
is no way (ignoring Bundles) to specify *particular* distributions as
dependencies or to specify non-indexed distributions or namespaces as
dependencies.  Changing that requires massive rewrites to the entire
toolchain (without breaking backwards compatibility) -- a feat that I
don't see happening anytime soon.

My suggested approach is to modify CPAN/CPANPLUS to support alternate
index files that function the same way but provide different mappings.
 David Cantrell's CP5XXXAN mirrors are an example of this -- though
using the *current* index locations on custom mirrors.  Allowing new
index files means there could be "latest dev" indices, EPO-certified
indices, etc and so on that provide specific namespace-distribution
mappings that someone is curating.  This seems to me like the most
pragmatic way forward for *Perl 5*.

I think Perl 6 will probably need the more complete distribution
mapping for any combination of namespace, version and authority and
then will need to build its toolchain around that.

-- David

Reply via email to