Well, what else did you have in mind? Remember that until we fix the GIL (which won't happen until Python 4) you won't get benefit from async programming unless you are overlapping with I/O, and (due to the limitations of select/poll/etc.) that is pretty much limited to network and IPC (disk I/O in particular cannot be overlapped in this way).

The main other area of interest would be UI events (as in a browser or GUI) and for that I think an adaptation of the asyncio event loop will be suitable. (If you're not going to use them it's fine not to implement the network-specific methods on an event loop.)

Note that the async/await keywords themselves have no direct link to an event loop -- they are just a different way to spell generators. It's just that they are only useful with asyncio or some other event loop library.

On Thu, Oct 1, 2015 at 9:27 AM, Christoph Groth <christoph@grothesque.org> wrote:

I have a question/idea about the support for asynchronous programming in

With Python 3.5, support for asynchronous programming has been added to
the core Python language.  The new language features, however, are only
useful with an event loop, as provided (only?) by the asyncio stdlib

I notice that already the class asyncio.AbstractEventLoop contains many
things that to me seem very specific to particular applications.  For
examples that class contains placeholders for methods that expect IP
host names and IP ports as arguments.

In a world where networking is done in other ways than through IP,
Python would be still useful.  One could keep using most of the standard
library that is not specific to IP networking.

Asynchronous programming is a concept that is way more universal than
many of the things in asyncio (IP ports, unix pipes, etc.).  Has there
been a discussion about separating the abstract bits needed for
asynchronous programming in Python from the application-specific ones?
Or would this be a bad idea for some reason?


Python-ideas mailing list
Code of Conduct: http://python.org/psf/codeofconduct/

--Guido van Rossum (python.org/~guido)