[Python-Dev] Coroutines, generators, function calling

Nick Coghlan ncoghlan at gmail.com
Tue Oct 18 16:17:22 CEST 2005


Andrew Koenig wrote:
>>   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'

Hmm, I actually quite like that. The best I came up with was "yield for", and 
that just didn't read correctly. Whereas "yield from seq" says exactly what it 
is doing.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia
---------------------------------------------------------------
             http://boredomandlaziness.blogspot.com


More information about the Python-Dev mailing list