On Sat, Dec 30, 2017 at 04:44:17PM -0500, Dan Book wrote: > As mentioned before, this is a unique situation. A lot of the code using > smartmatch, broken by these changes, was written on perls where it is not > experimental. When I authored the policy in question, I don't believe I contemplated the concept of 'demoting' a feature from production to 'experimental'. Upon reflection, it's a very clever way to deprecate a set of semantics without entirely torpeodoing a feature. There should be a written policy explaining how this should work, but, operationally, I don't think it's all that ripe for abuse. That said, we spent a lot of time right around then trying to figure out what the hell to do about the broken smartmatch semantics we'd stolen from an early draft of Perl 6. My vote was for someone incredibly smart with, way, way too much free time to give us lexical smartmatch implementations. I want to be very clear that I am _years_ out of date on everything related to p5p and the implementation of the core, so you should ignore all of my advice. That said, smartmatch was introduced in 5.10 (2007), had its semantics changed in 5.10.1, was bumped to 'experimental' by rjbs in 5.18 (2013), reflecting the fact that the existing implementation was crazypants and shouldn't be used in production code. That was four years ago. In _my_ eyes, bouncing a feature from production to 'experimental' is pretty much the same thing as bouncing it to 'deprecated', with the caveat that we think there might be something salvagable there. When I wrote the early draft of the policy, I said "If something in the Perl core is marked as experimental, we may change its behaviour, deprecate or remove it without notice." At the same time, the last supported Perl release with a non-experimental version of smartmatch was 5.16, which we officially stopped supporting (at least per the policy from my era) when 5.20 came out in 2014. If I were pumpking, I'd probably angst about this for a while, try the new changes in blead and see about getting the bits of CPAN that are depending on what is, essentially a broken, deprecated feature updated. And then I'd document the hell out of it in the release notes. But I'm not the Pumpking, just a cranky old hacker who has nothing better to do than reply to threads he gets CCed into. <3 Jesse > > -Dan --Thread Previous | Thread Next