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

Re: review of perlexperiment, 2021-10

Thread Previous | Thread Next
From:
Tomasz Konojacki
Date:
October 8, 2021 20:30
Subject:
Re: review of perlexperiment, 2021-10
Message ID:
20211008223005.F628.5C4F47F8@xenu.pl
On Fri, 08 Oct 2021 14:44:24 -0400
"Ricardo Signes" <perl.p5p@rjbs.manxome.org> wrote:

> "Until 5.18" — in other words, "for the last eight years."

In terms of LTS Linux distributions, smartmatch was introduced in RHEL 6
and it started warning in RHEL 8, which is currently the latest version.

> 
> "meaningless" — 
>     given is experimental
>         (S experimental::smartmatch) "given" depends on smartmatch, which is
>         experimental, so its behavior may change or even be removed in any
>         future release of perl. See the explanation under "Experimental
>         Details on given and when" in perlsyn.
> 
>     Smartmatch is experimental
> 	(S experimental::smartmatch) This warning is emitted if you use the
> 	smartmatch ("~~") operator. This is currently an experimental
> 	feature, and its details are subject to change in future releases of
> 	Perl. Particularly, its current behavior is noticed for being
> 	unnecessarily complex and unintuitive, and is very likely to be
> 	overhauled.
> 
> We need to be able to say that some things aren't guaranteed, and then *after eight years of saying that*, it needs to be able to mean something.
> 
> Saying, "The practical impacts of changing this feature are big and need real consideration" is one thing.  I am really not enthused by "we've been saying it might be changed or removed for eight years, and this is meaningless and not enough."

"Or even be removed" sounds like an unlikely possibility, not a threat.
Also, you're quoting perldiag, which I think is something that many users
won't ever see. The warning triggered by ~~ is just "Smartmatch is
experimental".

I know this isn't what our documentation literally says, but I think the
experimental status was supposed to mean "new, unpolished feature", not
"something that was implemented almost 15 years ago and everyone wants
it gone".

BTW, signatures have a similar problem. They've been marked as
experimental for an overly long time, which diminished that status and
caused the users to ignore it. Now it feels like everyone and their dog
is using signatures in production code.


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About