[Python-Dev] Addendum to PEP 530 (original) (raw)
Serhiy Storchaka storchaka at gmail.com
Mon Mar 4 12:37:17 EST 2019
- Previous message (by thread): [Python-Dev] [python-committers] [RELEASED] Python 3.4.10rc1 and Python 3.5.7rc1 are now available
- Next message (by thread): [Python-Dev] Addendum to PEP 530
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
PEP 530 introduced support for asynchronous comprehensions.
Comprehensions are implemented as local functions. To make a function asynchronous you should to add "async" before "def", and after that you can use "async for", "async with" and "await" in a function. But you can to do this with comprehensions, since these functions are implicit.
PEP 530 allows to make these function asynchronous by just using asynchronous syntax inside. "async with" can not be used in comprehensions, but using "async for" or "await" makes the comprehension asynchronous.
What PEP 530 missed is that asynchronous comprehensions itself are asynchronous constructions which can be used only in asynchronous functions.
Issue33346 [1] makes an asynchronous comprehension inside a comprehension making the outer comprehension asynchronous as well as using explicit "async for" or "await". See details on the issue.
Yury, the author of PEP 530, likes this idea, and there is a ready implementation. But making the decision was deferred until a new government be stated. Now, after the Steering Council has been elected, can it make the decision?
[1] https://bugs.python.org/issue33346
- Previous message (by thread): [Python-Dev] [python-committers] [RELEASED] Python 3.4.10rc1 and Python 3.5.7rc1 are now available
- Next message (by thread): [Python-Dev] Addendum to PEP 530
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]