Hi Andrew, Hi List,
[ some discussion about calling yield from from the command line skipped ]
I would love to see this. I'm not sure if I'd love it in practice or not, but until someone implements it and I can play with it I'm not sure how I'd become sure.
So... You just volunteered, right? Go build it and put it on PyPI, I want it and I'll be your best friend forever and ever no takebacks if you do it. :)
Well, so I did, I wrote an IPython extension that does it and put it up on https://github.com/tecki/ipython-yf It's more a mock-up of how it should actually look like, but it is a functioning mock-up. So now you can write on the command line stuff like:
>>> %load_ext yf >>> from asyncio import sleep, async >>> def f(): ... yield from sleep(3) ... print("done") >>> yield from f() #[wait three seconds] done >>> async(f()) >>> #[wait three seconds, or type other commands] done
So as you see, the event loop runs while you are typing commands, and while they are executed.