On Thu, Mar 08, 2007 at 12:57:00PM -0700, David Green wrote:
: On 3/8/07, Larry Wall wrote:
: >Perl 6 is specced to keep all the old versions of modules around in
: >the library (unless the new version claims to emulate the old version).
: 
: Oh, good!  So how does a module say that it emulates another version? 
: (Or perhaps another module altogether...)  Does "does" work for that?

Unspecced, but presumably some kind of modifier or trait that maybe
doesn't count as part of the long name, or rather that causes alternate
long names to be generated.

: >So an upgrade doesn't generally break fixed dependencies.
: 
: Hm, so if I'm not upgrading, but installing a module for the first 
: time, presumably I will actually get all its different incarnations 
: to date.

I could argue that both ways.  There seems to be little reason to
install an older version unless someone is likely to request it in
the future--especially when we're trying to cram the library onto
one of those nanobots that are running around in your bloodstream.
On the other hand, the more consistent everyone's library configuration
is, the fewer mysterious skew errors we'll run into when the module
search criteria enter the twilight zone.  I'm not so sure you want
your blood nanobots anywhere near the twilight zone though.

: >It is allowed to run anyway, and it runs with a known good version.
: 
: Does "allowed to run anyway" mean because older versions stay 
: installed (and thus you should be able to get an exact match), or 
: does it mean you might get some other module altogether, as long as 
: it claims to be compatible with whatever you asked for?

Yes.  You've more or less restated the current design, and helpfully
pointed out that the current design neglects to provide a syntax for
declaring emulation.  Now we just have to come up with one.  :)

Larry

Reply via email to