[Python-Dev] Coroutines, generators, function calling

Andrew Koenig ark at acm.org
Tue Oct 18 16:04:36 CEST 2005


>   Sure, that would work.  Or even this, if the scheduler would
> automatically recognize generator objects being yielded and so would run
> the the nested coroutine until finish:

This idea has been discussed before.  I think the problem with recognizing
generators as the subject of "yield" statements is that then you can't yield
a generator even if you want to.

The best syntax I can think of without adding a new keyword looks like this:

	yield from x

which would be equivalent to

	for i in x:
	    yield i

Note that this equivalence would imply that x can be any iterable, not just
a generator.  For example:

	yield from ['Hello', 'world']

would be equivalent to

	yield 'Hello'
	yield 'world'





More information about the Python-Dev mailing list