> > I'm not sure how to solve this except by adopting a different syntax
> > for the multiple-yield. Perhaps
> >
> > *yield x
>
> If there really were an inconsistency here, I would certainly not suggest
> fixing it that way, yuuueghh.

Agreed about *yield looking yucky. In a previous thread somewhere
around http://mail.python.org/pipermail/python-dev/2006-January/059955.html
a construct like "yield from x" was offered. It certainly helps
clarify the difference between iteratively yielding the values from
another iterator and yielding the values of an iterator as a tuple.
While parsing rules do differentiate, I don't find the behavior
obvious, and expect the differences between
    yield *x; yield *x(); yield *x,; yield (*x,); and yield *(x,)
would become one of python's warts in a few years, if adopted. In
short, I don't think * should be the syntax for iterative-yielding.

That said, all these star extensions call to me, especially
arbitrarily positioned *args in function calls and iteratively
yielding items from another iterator. But I can't offer any use new
cases.
-- 
Michael Urman
_______________________________________________
Python-3000 mailing list
[email protected]
http://mail.python.org/mailman/listinfo/python-3000
Unsubscribe: 
http://mail.python.org/mailman/options/python-3000/archive%40mail-archive.com

Reply via email to