Terry Reedy wrote: > whereas the analogous expansion of your proposal > > for x in xs: > while cond(x): > yield e(x) > > is an infinite loop and not at all what you mean.
You're right. The syntax is ambiguous. I agree it's not a good idea, now. :) > x for x in xs while cond(x) if blah(x) > x for x in xs if blah(x) while cond(x) > x*y for x in xs while cond(x) for y in ys These wouldn't be a problem. "... for x in xs while cond(x) ..." would be transformed into "... for x in takewhile(cond, xs) ..." which could be applied to an if thingy if you first transform "... for x in xs if cond(x) ..." into "... for x in filter(cond, xs) ...". -- http://mail.python.org/mailman/listinfo/python-list