[Python-Dev] PEP 492 vs. PEP 3152, new round
Guido van Rossum
guido at python.org
Fri May 1 05:40:03 CEST 2015
On Thu, Apr 30, 2015 at 8:30 PM, Nathaniel Smith <njs at pobox.com> wrote:
> The actual effect of making "await" a different precedence is to resolve
> the ambiguity in
>
> await x ** 2
>
> If await acted like -, then this would be
> await (x ** 2)
> But with the proposed grammar, it's instead
> (await x) ** 2
> Which is probably correct, and produces the IMHO rather nice invariant
> that "await" binds more tightly than arithmetic in general (instead of
> having to say that it binds more tightly than arithmetic *except* in this
> one corner case...)
>
Correct.
> AFAICT these and the ** case are the only expressions where there's any
> difference between Yury's proposed grammar and your proposal of treating
> await like unary minus. But then given the limitations of Python's parser
> plus the desire to disambiguate the expression above in the given way, it
> becomes an arguably regrettable, yet inevitable, consequence that
> await -fut
> await +fut
> await ~fut
> become parse errors.
>
Why is that regrettable? Do you have a plan for overloading one of those
on Futures? I personally consider it a feature that you can't do that. :-)
--
--Guido van Rossum (python.org/~guido)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-dev/attachments/20150430/5ed9226f/attachment.html>
More information about the Python-Dev
mailing list