-- On Thu, 31 Oct 2002 11:26:13 Brent Dax wrote:
>I can honestly say at this point that I'd rather give up <$iterator> >than lose hyperops. I was thinking the same thing not long ago. But now that I think about it, is <operator> ever going to be confused for <$File_Handle>? The vector operation cosy up well to the concept of iteration anyway. Hell, if were desperate (and I think we are) then why not just double the brackets to <[op]> or [<op>]. Sure it's ugly, but I prefer it to ^[op] any day of the week, and it's not going to be ambiguous. All that said, can anyone come up with a case to confuse <op> with <$File_Handle>? -Erik 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) > > ____________________________________________________________ Get 25MB of email storage with Lycos Mail Plus! Sign up today -- http://www.mail.lycos.com/brandPage.shtml?pageId=plus