> Set in stone, huh?  Hmm.  It may affect the parsing, but I'm not sure.
   > Perhaps we can Arbitrarily Declare that an underscore isn't allowed as
   > the last character of a symbol.  That way, you can still do $foo_$bar
   > without worrying about whitespace.

I doubt it. From E3:

        Underscore is still a valid identifier character, so you need to be
        careful about spacing it from a preceding or following identifier
        (just as you've always have with the C<x> or C<eq> operators):

            # Perl 6 code                   # Meaning

            $name = getTitle _ getName;     # getTitle() . getName()
            $name = getTitle_ getName;      # getTitle_(getName())
            $name = getTitle _getName;      # getTitle(_getName())
            $name = getTitle_getName;       # getTitle_getName()


   > BTW, did you guys look at the possibility of overloading hyper?  $foo ^
   > $bar ought not to occur anywhere; nor should @foo ^^ @bar.  And I didn't
   > see anything about you being able to hyper =, so ^= ought to be alright
   > too.

Syntactically these would be fine, but I think the idea is: one symbol, one
operation (or family of operations). That's why Perl 5's C<^> becomes C<~> in
Perl 6. We *could* have left it as is, but this way, whenever you see a caret,
you know you're seeing a vector operation.


   > Of course.  OTOH, people will scratch their heads when they come upon
   > $foo § $bar or whatever.

Sure. Isn't that the point?  >;-)


   > On a separate note, how will '$foo??Bar::baz::frob' parse?

As a call to Bar::baz::frob if $foo is true, followed by
"Missing :: in ternary operation".

>From E3:

        The doubling also helps it stand out better in code, in part
        because it forces you to put space around the C<::> so that it's
        not confused with a package name separator.

   
   > Since I've been complaining a lot, I'll now say a bunch of the things I
   > do like:

Yes, there *are* a great many things to like in Larry's design.
I'm glad you think so too.

Damian

Reply via email to