Some questions:

-----

Can we get an AUTOCLASS/AUTOCLASSDEF hook pair?

-----

How does one create a class with a hyphen in the middle of it? If I say:

use Foo-Bar;

will it complain about not finding a Bar version of Foo? Would I instead need to say:

use 'Foo-Bar';
use Foo\-Bar;
use ('Foo-Bar');
$x = 'Foo-Bar'; use $x;

btw, that last one would be really handy sometimes, but for other reasons.

-----

If we do:

use Dog-1.2.3;
use Dog-2.0.1;
my Dog $spot;

What do we get? Okay, I know, an error message, but is it on line 2 or line 3? Can we instead do something like:

use Dog-1.2.3;
use Dog-2.0.1 is rename(newDog);
my newDog $spot;

-----

There needs to be some definition of what happens when more than one module matches a given wildcard in 'use'.

Something like:
  1. Throw a warning
  2. Pick the highest version, then the earliest source in the alphabet

of course, there should be a way to flag it to work in other ways, so some project could have a standard:

use ($^name ~~ /^Project::/)-(Any)-TPFBundle;

meant to include all the modules made thus far. And yes, I can come up with times when this would be useful.

-----

I see some utility in having an optional sub-source or version code thingy.
Something like:

use Dog-(Any)-(Any)-Stable;
use Canine-(Any)-(Any)-Development;

-----

Can we get a hook that gets called when 'use' fails to find module locally? I see potential for:

use AutoCPAN;
use Some::Module::Not::Currently::Loaded;

hmm. that doesn't work, since you typically won't be including the cpan author code if you don't have to.

CPAN, or some other public source would be a definate security risk, and thus to be discouraged, but it should be possible to write the thing. I've heard of sites who had massively distributed mod_perl servers, where all the code past a simple stub was stored in a central RDBMS. Made releases and version control much nicer.

-----

By saying

#!/usr/bin/perl6

forces Perl 6, I assume you mean : "The compiler sees /:i ^#! .* perl6/ on the first line".

-----


-- Rod Adams





Reply via email to