On Wed, Jul 3, 2013 at 1:50 PM, Aristotle Pagaltzis <pagaltzis@gmx.de> wrote: > You bring up some sound principles, but are they applicable here? Are > these features orthogonal? E.g. if you do *not* disable the misfeature, > but *do* enable the new feature – what that combination do? Does its > behaviour follow from the composition of the individual features, or is > there a conflict? If there is a conflict, it will have either have to be > explicitly resolved in a design decision, or it will have to be prevent > by forbidding this combination. 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. David -- David Golden <xdg@xdg.me> Take back your inbox! → http://www.bunchmail.com/ Twitter/IRC: @xdgThread Previous | Thread Next