* David Golden <xdg@xdg.me> [2013-07-03 22:00]: > I meant in general, not suggesting that implementation of this or any > other feature should be decomposed into "on" and "off" pieces. The > fact that "no multidimensional" exists already is sort of a side issue > to the point I was making. > > "use feature 'foo'" is a "turn on this syntax" option. Those are > orthogonal -- they make an illegal syntax legal. Likewise, "no > indirect" is a "turn off this syntax" option -- it makes a legal > syntax into an error. Whereas "use dots" is a "change the meaning of > this legal syntax to something else" option. > > Generally, I think the p5p approach has been to deprecated (and then > remove) unwanted syntax to make it available for other use. > > I see a trend (recent? not sure) of people advocating "dialect" > pragmas -- when we can't just deprecate an old syntax, some people who > prefer something else would rather just replace it lexically. > > That's what I mean is a broader design decision than any one feature. > Do we want "dialects" of Perl 5 or not? It's a way out of the > back-compatibility box [ironic to say, given your post about it], but > I think it comes at a cost that we shouldn't trivialize. My game plan would be not `use dots` but `use feature 'postderef'` and have it enabled by `use 5.20` or whichever. You can then either use faux-multidim hashes or postfix deref, but not both, and when you’re writing new code then it’s clear which one p5p would prefer you to use. Then some time down the road we can start the process of deprecating multidim hashes altogether, which is where I’d like this to go. I’m not interested in a dialect. But these faux-multidim hashes have been an advertised feature of Perl forever, and I expect the deprecation to run afoul of plenty of legacy Perl. Not mountains, but not insignificant, and stuff that doesn’t get touched much, i.e. precisely the kind of code that requires the longest deprecation phases. So I’d prefer the leeway to make this deprecation a long one. Which means that if we were to postpone postfix deref until the syntax is actually really safely free, who knows if it’ll be non-experimental by 5.30. I’m not interested in waiting that long. So I’m fine with a dialect-like state in the meantime, in a realpolitik kind of way. We’re talking about faux-multidim hashes anyway, not the arrow op that appears on something like every second line of Perl code. Some dialects are more… dialectical than others. Regards, -- Aristotle Pagaltzis // <http://plasmasturm.org/>Thread Previous | Thread Next