Thomas Sandlaà writes: > Luke Palmer wrote: > >That's quite nice, but I've been kind of wanting to go the other way. > >You know, not every operation in Perl 6 needs to have a punctuation > >operator. > > > >I think we should not use \, and also get rid of ^. I'm interested in > >seeing an example where using ^ is readable enough over one() where its > >conciseness is warranted. I haven't found that yet. > > What I tried to provide is syntactic completeness---and beauty---in the > sense of the table given below. I've found a posting of Damian where he > opposes the usage of binary '!' and '!!' because it looks too negative. > Is there another grammar reason why there is no single character list op > for the none junction?
Yeah. Because it doesn't exist in English, the natural language that Perl most closely follows (which isn't very closely). if $a | $b == 3 {...} If A or B is 3 ... if $a & $b == 3 {...} If A and B are 3 ... if $a \ $b == 3 {...} *If A nor B is 3 ... In English it's more like: if \ $a \ $b == 3 {...} If neither A nor B is three ... And that's one of the reasons that I don't want ^ either: if $a ^ $b == 3 {...} *If A oneof B == 3 ... The most Englishish equivalent of this is the one we already have: if one($a, $b) == 3 {...} If one of $a, $b is three ... I suppose. > Another unanswered question is: how often is the ref operator needed > in Perl6? I don't know. There's not really a corpus of Perl 6 yet is there. And Perl is TMTOWDI, right, so you never really *need* it. But how often will it be wanted? I don't really know. I know I don't use it very much at all in Perl 5. > eval | value | | bitwise ops > rhs if | returning | junction | num str bit > lhs is | low | high | | + ~ ? > -------+-----+------+----------+---------------- > true | and | && | & all | +& ~& ?& > always | xor | ^^ | ^ one | +^ ~^ ?^ > false | or | || | | any | +| ~| ?| > false | nor | \\ | \ none | +\ ~\ ?\ > undef | err | // | I definitely like the symmetry. But we have to remember that the P in Perl (can) stand for Practical. The advantages of having syntactic symmetry are nice, and they aid learning. But they aren't nearly as important as semantic symmetry/consistency. (Not to say that they aren't important) We have a surplus of semantic ideas, and a shortage of characters on the keyboard. Adding seldom-used (and in this case, confusing) operators in the face of consistency is a Maxwellian thing, but I don't think it's hiding any deep truth behind it this time. Compare: say "nope" if $a \\ $b; say "nope" unless $a && $b; I find the latter actually reads well in our precious natural languages. The former just seems like golfing. Luke