Apocalypse 4 mentions unary '?' . Since this is used to force boolean
 context, I would assume that it has the same precedence as unary '+' and
 '_' which force numeric and string context respectively.  By the way, has
 anyone come up with a use for binary '?' yet?

 Joe Gottman

> ----- Original Message -----
> From: "John Williams" <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Thursday, September 26, 2002 8:03 PM
> Subject: perl6 operator precedence table
>
>
> > I'm trying to write a revised operator precedence table for perl6,
> > similar to the one in perlop.pod.
> >
> > This is what I have come up with based on Apocalypse 3 and Exegesis 3.
> > Does anyone have comments?  I'm not sure if the precedence
> > for : (adverb) or 'is' and 'but' are quite right.
> >
> >
> > perl6 operator precedence
> >
> >            left        terms and list operators (leftward) [] {} ()
quotes
> >            left        . and unary .
> >            nonassoc    ++ --
> >            left        is but
> >            right       **
> >            right       ! \ and unary ~ + - * _
> >            left        =~ !~
> >            left        * / % x
> >            left        + - _
> >            left        << >>
> >            right       named unary operators, -X
> >            left        < > <= >= lt gt le ge == != <=> eq ne cmp
> >            left        &
> >            left        | ~
> >            left        &&
> >            left        || ~~ //
> >            nonassoc    ..  ...
> >            right       ??::
> >            right       = := **= += -= _= *= /= %= x= &= |= ~=
> >                             <<= >>= &&= ||= ~~= //=
> >            left        , =>
> >            left        ;
> >            left        :
> >            nonassoc    list operators (rightward)
> >            right       not
> >            left        and
> >            left        or xor err
> >
> > Here is a list of changes from perl5:
> > . becomes _
> > -> becomes .
> > == etc unified with < etc, and given left associativity
> > binary ^ becomes ~
> > ?: becomes ??::
> > added ~~ // err
> > added ; with lower precedence than ,
> > added unary * and _ with same precedence as unary + -
> > added binary :=
> > added unary . with same precedence as binary .
> > ( .foo === $self.foo )
> > added : (adverb operator) with low precedence(?)
> > print foo: $x, $y, $z; # lower than ,
> > my $fh = open $filepath : mode=>'rw'; # lower than =>
> > added 'is' and 'but' with high precedence(?)
> > my $thing is constant = 3 but false; # higher than =
> >
> > Larry mentions that other precedence unifications are possible.  I can
see
> > the following as possibilites.  Are there others?
> > & with &&
> > | with ||
> > << >> with * /
> >
> >
> > ~ John Williams
> >
>


Reply via email to