[Python-Dev] yield back-and-forth? (original) (raw)

Guido van Rossum guido at python.org
Fri Jan 20 19:17:46 CET 2006


The discussion about PEP 343 reminds me of the following. Bram Cohen pointed out in private email that, before PEP 342, there wasn't a big need for a shortcut to pass control to a "sub-generator" because the following for-loop works well enough:

def main_generator(): ... for value in sub_generator(): yield value

but now that yield can return a value, that value might have to be passed into sub_generator(), not to mention of exceptions. I'm sure there's a way to write that (although I haven't found the time to figure it out) but I expect it to be cumbersome and subtle. I don't think a helper function can be created to solve this problem, because the yield syntax is essential.

Bram suggested the following syntax:

def main_generator(): ... yieldthrough sub_generator()

I'm not keen on that particular keyword, but I do believe a syntactic solution is needed, if the problem is important enough to be solved.

Thoughts?

-- --Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list