[Python-Dev] PEP 492: async/await in Python; v3

Yury Selivanov yselivanov.ml at gmail.com
Thu Apr 30 00:58:43 CEST 2015


Greg,

On 2015-04-29 6:46 PM, Greg Ewing wrote:
> Yury Selivanov wrote:
>
>>> Won't that prevent some existing generator-based
>>> coroutines (ones not decorated with @coroutine)
>>> from calling ones implemented with 'async def'?
>>>
>> It would.  But that's not a backwards compatibility
>> issue.
>
> It seems to go against Guido's desire for the new
> way to be a 100% drop-in replacement for the old
> way. There are various ways that old code can end
> up calling new code -- subclassing, callbacks,
> etc.
>
> It also means that if person A writes a library
> in the new style, then person B can't make use
> of it without upgrading all of their code to the
> new style as well. The new style will thus be
> "infectious" in a sense.
>
> I suppose it's up to Guido to decide whether it's
> a good or bad infection. But the same kind of
> reasoning seemed to be at least partly behind
> the rejection of PEP 3152.
>

It's a drop-in replacement ;)  If you run your
existing code - it will 100% work just fine.

There is a probability that *when* you start applying
new syntax something could go wrong -- you're right
here.

I'm updating the PEP to explain this clearly,
and let's see what Guido thinks about that.

My opinion is that this is a solvable problem with
a clear guidelines on how to transition existing
code to the new style.

Thanks,
Yury


More information about the Python-Dev mailing list