On Sun, 03 Oct 2021 23:51:43 +0200, Tomasz Konojacki <me@xenu.pl> wrote: > On Sun, 03 Oct 2021 16:41:37 -0400 > "Ricardo Signes" <perl.p5p@rjbs.manxome.org> wrote: > > > *smartmatch* — We have resisted removing this failure for years, as > > we want to replace it with something else. My take: we should > > just rip this out and later, *maybe*, put something else in. #13173 > > <https://github.com/Perl/perl5/issues/13173> > > Back in 2017 we tried replacing smartmatch with "dumbmatch" and in > result we made everyone angry and broke half of CPAN: > > http://blogs.perl.org/users/leon_timmermans/2017/12/smartmatch-in-5277.html > https://www.nntp.perl.org/group/perl.perl5.porters/2017/08/msg245769.html > https://github.com/Perl/perl5/issues/16310 > https://www.nntp.perl.org/group/perl.perl5.porters/2017/12/msg248507.html > > I don't want that to happen again. > > Smartmatch is widely used because of two reasons. First of all, it > solves an important problem: it provides "switch" and "in" operators. > Of course, it does that in a completely insane way, but currently > there are no (core) alternatives to it. I agree on this statement. And my mind is ambiguous. As a developer and maintainer of perl I want it gone As an (end)user I want it to stay, even in its current state: there is no (easy) alternative, and I have a few (huge) scripts that depend on it. All of them were converted from insane if/elsif/else trees into readable switch structures. I really don't feel thrilled to rewrite them again. (all I use is undef/numeric/string/regex, no overloading, hashes or arrays). > The other reason is that we have completely failed to communicate that > we don't want our users to use smartmatch. Until 5.18 it didn't warn > at all, now it gives an "experimental" warning which is meaningless. > Do signatures and smartmatch have the same status? Absolutely not. Yet > that's what our documentation and warnings say. > > If we want to remove smartmatch, we need to properly deprecate it and > provide a replacement for it. BTW, I believe LeoNerd is working on the > latter. > > Speaking of deprecating things, the dumbmatch fiasco has showed that > our two stable releases deprecation cycle is way too short. When the > users of LTS distributions upgrade, they skip multiple Perl releases, > so from their POV features disappear without any warnings! This > worked OK for unimportant stuff that no one cared about, but I think > something like smartmatch will need a longer deprecation period. > -- H.Merijn Brand https://tux.nl Perl Monger http://amsterdam.pm.org/ using perl5.00307 .. 5.33 porting perl5 on HP-UX, AIX, and Linux https://tux.nl/email.html http://qa.perl.org https://www.test-smoke.orgThread Previous | Thread Next