Re: requiring different vers per auth

2010-09-10 Thread Darren Duncan

Larry Wall wrote:

On Fri, Sep 10, 2010 at 06:00:30PM -0700, Darren Duncan wrote:
: With regard to http://perlcabal.org/syn/S11.html#Versioning ...
: 
: If some Perl code requires a module (or Perl version) that has

: multiple authorities and each authority uses a different
: version-numbering scheme, and the code is compatible with different
: version ranges from each authority, then how does the code express
: this?

Search for "emulates" in S11.


I already know about "emulates" and it didn't seem applicable because "emulates" 
is something you would put in a package declaration so a package declares it 
emulates another one.


But what I'm asking is what a user does when none of the versions of the package 
they want to use declare "emulates".


-- Darren Duncan


Re: requiring different vers per auth

2010-09-10 Thread Larry Wall
On Fri, Sep 10, 2010 at 06:00:30PM -0700, Darren Duncan wrote:
: With regard to http://perlcabal.org/syn/S11.html#Versioning ...
: 
: If some Perl code requires a module (or Perl version) that has
: multiple authorities and each authority uses a different
: version-numbering scheme, and the code is compatible with different
: version ranges from each authority, then how does the code express
: this?

Search for "emulates" in S11.

Larry


requiring different vers per auth

2010-09-10 Thread Darren Duncan

With regard to http://perlcabal.org/syn/S11.html#Versioning ...

If some Perl code requires a module (or Perl version) that has multiple 
authorities and each authority uses a different version-numbering scheme, and 
the code is compatible with different version ranges from each authority, then 
how does the code express this?


For example, say that either of the following would be acceptable:

  use Foo:auth:ver(1..3,5..*)

  use Foo:auth:ver(2..9)

From S11 I see that one can indicate too many versions like:

  use Foo:auth(PERIL|PURILE):ver(1..*)

... or too few versions like:

  use Foo:auth(PERIL|PURILE):ver(2..3,5..9)

... assuming that these "use" would specify the cartesian product of "auth" and 
"ver".


But how does one best express what I actually said would be acceptable, the full 
"ver" range per "auth" and only that?


Can you say something like this?:

  use Foo:(auth:ver(1..3,5..*)|auth:ver(2..9))

... but maybe with different syntax?

-- Darren Duncan