[Python-Dev] PEP 492 vs. PEP 3152, new round

Andrew Svetlov andrew.svetlov at gmail.com
Tue Apr 28 14:22:56 CEST 2015


I prefer option #3.

On Mon, Apr 27, 2015 at 4:44 PM, Yury Selivanov <yselivanov.ml at gmail.com> wrote:
> Hi Greg,
>
> I don't want this: "await a() * b()" to be parsed, it's not meaningful.
>
> Likely you'll see "await await a()" only once in your life, so I'm fine to
> use parens for it (moreover, I think it reads better with parens)
>
> Yury
>
>
> On 2015-04-27 8:52 AM, Greg Ewing wrote:
>>
>> Yury Selivanov wrote:
>>>
>>> I've done some experiments with grammar, and it looks like
>>> we indeed can parse await quite differently from yield. Three
>>> different options:
>>
>>
>> You don't seem to have tried what I suggested, which is
>> to make 'await' a unary operator with the same precedence
>> as '-', i.e. replace
>>
>>    factor: ('+'|'-'|'~') factor | power
>>
>> with
>>
>>    factor: ('+'|'-'|'~'|'await') factor | power
>>
>> That would allow
>>
>>   await a()
>>   res = await a() + await b()
>>   res = await await a()
>>   if await a(): pass
>>   return await a()
>>   print(await a())
>>   func(arg=await a())
>>   await a() * b()
>>
>
> _______________________________________________
> Python-Dev mailing list
> Python-Dev at python.org
> https://mail.python.org/mailman/listinfo/python-dev
> Unsubscribe:
> https://mail.python.org/mailman/options/python-dev/andrew.svetlov%40gmail.com



-- 
Thanks,
Andrew Svetlov


More information about the Python-Dev mailing list