develooper Front page | perl.perl5.porters | Postings from June 2021

Re: PSC #025 2021-06-18 minutes

Thread Previous | Thread Next
Paul "LeoNerd" Evans
June 27, 2021 22:31
Re: PSC #025 2021-06-18 minutes
Message ID:
On Sun, 27 Jun 2021 09:55:24 +0000
Nicholas Clark <> wrote:

> ## Minimum perl versions (and encouraging adoption of our new
> features)
> We discussed how it's frustrating that each year we ship a new
> version of Perl, but the take up of the improvements is limited
> because folks shipping code to CPAN are reluctant to use them because
> they favour supporting the long tail of older versions. At some
> level, this conflict of incentives actually makes it arguably
> pointless to try to add features/fix the deficiencies of the
> language, which isn't what we want.

Frustrating, indeed.

My personal thoughts on this for my own code are:

  New modules: perl >= 5.26. That version chosen because it added
    enough core ops to allow `Object::Pad` to support signatures on
    methods. Combined with Future::AsyncAwait this combo enables some
    seriously nice powerful code like

      has $_read_f;

      async method read_idx ($idx) {
        return (await $_read_f //= $self->_read_rgb)[$idx];

  Existing modules: perl >= 5.16, for the most part. A few exceptions
    exist for really high-river ones (e.g. List::Util, IO::Socket::IP)
    but for most of these, taking 5.16 onwards means at least basic
    support of try/catch, async/await, Object::Pad via syntax modules,
    even though the signatures aren't yet available.

  I have so far not yet encountered a case where anyone cared about a
  perl older than 5.16.

> ## Footnote - "retroactively disable experimental warnings"

Yes - I like the sound of this.

Paul "LeoNerd" Evans      |  |

Thread Previous | Thread Next Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at | Group listing | About