Larry Wall: # Perl 6 is written in Unicode. Great. That's a wonderful policy. But it *shouldn't influence routine coding in any way*. I have no problem with user-defined Unicode operators. I have a *huge* problem with built-in Unicode operators, and a gargantuan problem with built-in Unicode operators that are generally useful.
I can honestly say at this point that I'd rather give up <$iterator> than lose hyperops. And I consider relegating them to the << >> digraphs losing them, because I'm never going to be able to remember how to type them, and neither will anybody else. Let's look at this logically. Here's all the punctuation (non-\w) characters on my keyboard and what they do in Perl 6: TERM OPERATOR DOUBLE OPERATOR ` backticks none none ' string constants none** none " string constants none none # comment comment comment $ scalar sigil none none @ array sigil none none % hash sigil modulo none & sub sigil junction and** logical and ! logical not none (?) none ^ complement junction xor** logical xor** | none junction or** logical or / regex divide defined or (in 5.9) * list flatten* multiply exponent - numify and negate subtraction postdecrement + numify** addition postincrement ~ stringify* concat** smart match = none assignment comparison \ get reference none none .. method call** method call** range constructor ? force to bool* none** trinary operator , none list composer list composer ; none statement end statement end (in parentheses) super-comma none : none super-comma package separator, trinary operator ( ) expression grouping sub parameters yuck { } hash composing hash subscripts yuck block composing block composing yuck [ ] array composing array subscripts yuck < > iterator syntax comparison ops shift-left, shift-right UNUSED: 5 8 9 Items marked with a * are new, ** are changed. There are twenty-two 'none's on that list, but none of them line up. (Isn't Perl great?!?) ';;' is available (it doesn't mean anything in either term or operator context), but it's really ugly. The other possibilities I see there have the same problem. There are potentially some meaningless sequences, especially with sigils, but those'll look quite cluttered. Actually, one of the few good meaningless ones is ^[op] (with the square brackets). In term context it would normally mean "bitwise complement this array", and in operator context it would mean "add this array to an xor junction". If we lose xor junctions (which I'm not necessarily advocating, mind you), this sequence is pretty much open. Damn. Larry, I don't envy you your job. :^) --Brent Dax <[EMAIL PROTECTED]> @roles=map {"Parrot $_"} qw(embedding regexen Configure) Wire telegraph is a kind of a very, very long cat. You pull his tail in New York and his head is meowing in Los Angeles. And radio operates exactly the same way. The only difference is that there is no cat. --Albert Einstein (explaining radio)