On 08/24/2015 17:24, Jason Orendorff wrote:
On Mon, Aug 24, 2015 at 5:45 PM, Waldemar Horwat <walde...@google.com> wrote:
Let's not.  As I said at the last meeting, making ** bind tighter than unary
operators would break x**-2.  And making it sometimes tighter and sometimes
looser would be too confusing and lead to other opportunities for precedence
inversion.

Don't you think having `-x**2` mean the same thing as `x**2` is more
confusing? It seems like it will cause problems for the exact
programmers we are trying to help with this feature.

What you're describing as "sometimes tighter and sometimes looser" I
would call "the same precedence". It's even easier to specify than the
current proposal:

     UnaryExpression : PostfixExpression ** UnaryExpression

An expression using both `**` and unary `-` is then parsed right-associatively:

     -a ** -b ** -c ** -d
     means -(a ** (-(b ** (-(c ** (-d))))))

That has different right and left precedence and is probably the closest to the 
mathematical intent.  However, it does carry other surprises.  What does each 
of the following do?

++x ** y;
x++ ** y;
x ** ++y;
x ** y++;

    Waldemar

_______________________________________________
es-discuss mailing list
es-discuss@mozilla.org
https://mail.mozilla.org/listinfo/es-discuss

Reply via email to