On Nov 25, 2007, at 9:20 PM, Adam Kennedy wrote:

On 25/11/2007, Ken Williams <[EMAIL PROTECTED]> wrote:

I agree that there needs to be some way of extending our notion of
prereq types from the 2 current types (module and 'perl').  I
disagree that it should be done in a backwards-incompatible way
though.  The cardinal rule of syntax extensions must be kept in mind:
any new functionality must be a syntax/semantics error in the old
system, or else old parsers will continue on their merry way and do
The Wrong Thing.

I'd like to see some URIs that outline the logic behind this "cardinal rule".

I thought this was common knowledge and obvious, but maybe I could find some URIs. I'm just talking about the reason it's desirable e.g. for perl 4 to fatally choke on "use File::Spec".


I'm generally against any solution that starts with "first, break every existing tool", and maintaining backwards compatibility wherever possible has long been one of the principles by which the toolchain has been developed.

Try to at least represent my point of view fairly, and then we'll talk.

It was proposed on the list that we make a backwards-incompatible change from "requires => perl => $version" to "perl_requires => $version". I was arguing against that change, and showing how we could move things forward while entirely preserving backwards compatibility.

Perhaps you really mean forwards compatibility but you think you mean backwards. Are you worried about META.yml 1.2 parsers reading 1.4 specs, or vice versa? Those are completely different issues from each other.



  requires:
    mod/Carp: 1.03
    mod/File::Basename: 2.73
    sys/perl: 5.005
    sys/platform: Windows
    bin/wget: 1.10
    bin/gpg: 1.4.5
    lib/tk: 8.4
    lib/cups: 2
    ext/mysql: 5.0
    ext/openssl: 0.9.71

This idea was originally proposed a couple of years ago.

I don't remember that.  URIs?

 -Ken

Reply via email to