[Python-Dev] PEP 492: async/await in Python; v3 (original) (raw)
Yury Selivanov yselivanov.ml at gmail.com
Thu Apr 30 00:58:43 CEST 2015
- Previous message (by thread): [Python-Dev] PEP 492: async/await in Python; v3
- Next message (by thread): [Python-Dev] PEP 492: async/await in Python; v3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
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
- Previous message (by thread): [Python-Dev] PEP 492: async/await in Python; v3
- Next message (by thread): [Python-Dev] PEP 492: async/await in Python; v3
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]