On 28/07/2020 15:33, Guido van Rossum
I stand corrected; my objection to detecting "zero iterations" has
Rest assured this is not a problem. In any case
it’s the compiler, not the parser, that generates the
bytecode, from the AST. The compiler always has the full AST
available before it is asked to generate any bytecode. The new
parser just allows more flexible syntactic constructs, esp.
*If* you want tou propose clearer syntax for
this, please extend the loop syntax, not the ‘if’ syntax. So,
‘case ... zero’ makes more sense than ‘if [not] break’.
You're asking that the bytecode generated for the
on something that happens (or not) after the end of
the for-loop body
(which could be arbitrarily long).
speak from ignorance, but I suspect that even with the
which I am reliably informed can make the tea and
implement world peace,
that would be asking a lot.
I'm also speaking from ignorance. However, here I'm
the optimist. Ignorance is bliss. You're the
pessimist. The devil is in the details.
Until we have knowledge and wisdom on this, I think
we need both points of view. So I'm grateful for your https://en.wikipedia.org/wiki/Grain_of_salt
English, pinch of salt in British English). I hope it
makes my dish taste better!
It's good to know the facts.
On labelled breaks:
My God, you want to bring back the GOTO statement!:-) Seriously, though,
I can see that labelled breaks might be useful. Especially where
the same label is used more than once, helping DRY.
One thought though:
A possible, unrelated, future language extension is to allow
breaking out of more than one loop at a time. (I know there have
been times where I would have found this useful, though I can't
recall them now.)
So the syntax to break out of 3 loops at a time might be "break
break break" or "break 3" or "break 3 times" or <you-name-it>.
A syntax to break out of *all* enclosing loops (although not great
programming style, because it would be broken by adding a new outer
loop) might be "break all" or "break *".
(BTW I have a job lot of bikesheds, in case you want any cheap
So maybe you could give half an eye to not clashing with some such
possible future scheme?