[Python-Dev] PEP 492 quibble and request (original) (raw)
Yury Selivanov yselivanov.ml at gmail.com
Thu Apr 30 02:33:09 CEST 2015
- Previous message (by thread): [Python-Dev] PEP 492 quibble and request
- Next message (by thread): [Python-Dev] PEP 492 quibble and request
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Hi Ethan,
On 2015-04-29 8:21 PM, Ethan Furman wrote:
From the PEP:
Why not a future import
future imports are inconvenient and easy to forget to add. That is a horrible rationale for not using an import. By that logic we should have everything in built-ins. ;) Working example ... The working example only uses async def and await, not async with nor async for nor aenter, etc., etc. Could you put in a more complete example -- maybe a basic chat room with both server and client -- that demonstrated more of the new possibilities?
Andrew Svetlov has implemented some new features in his aiomysql driver:
https://github.com/aio-libs/aiomysql/blob/await/tests/test_async_iter.py
I don't want to cite it in the PEP because it's not complete yet, and some idioms (like 'async with') aren't used to their full potential.
Having gone through the PEP again, I am still no closer to understanding what happens here: data = await reader.read(8192) What does the flow of control look like at the interpreter level?
'await' is semantically equivalent to 'yield from' in this line.
To really understand all implementation details of this line you need to read PEP 3156 and experiment with asyncio. There is no easier way, unfortunately. I can't add a super detailed explanation how event loops can be implemented in PEP 492, that's not in its scope.
The good news is that to use asyncio on a daily basis you don't need to know all details, as you don't need to know how 'ceval.c' works and how 'setTimeout' is implemented in JavaScript.
Yury
- Previous message (by thread): [Python-Dev] PEP 492 quibble and request
- Next message (by thread): [Python-Dev] PEP 492 quibble and request
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]