Terry J. Reedy <tjre...@udel.edu> added the comment:
Syntax changes need PEPs. By default, syntax changes are rejected. This is especially true for new keywords, as any acceptible word will already be in use, and hence its introduction *will* break code. We are still having issues over having temporarily made 'async' and 'await' 'semi-keywords' (for 2 versions) to smooth out breakage. So new keywords must enable something previously difficult. But implementing the 'empty' idea is fairly trivial, as demonstrated in the initial post. A third alternative is a peak(iterator) class with a __bool__ method. I posted one once, probably on python-list. But the extra overhead every iteration must be larger than the simple assignment, which is so fast one should not worry about it. I suspect the flag also beats the chain alternative. --- [More opinionated than the above ...] Calling what is easy and works today 'non-idiomatic' is nearly pure opinion and not persuasive as a rhetorical device. The complicated rules for else-never interaction to be far more 'anti-idiomatic' from a comprehension point of view. In any case, a flag allows easy, flexible, and precise ordering of never, something, and either-way code. ---------- nosy: +terry.reedy resolution: -> postponed stage: -> resolved status: open -> closed _______________________________________ Python tracker <rep...@bugs.python.org> <https://bugs.python.org/issue36066> _______________________________________ _______________________________________________ Python-bugs-list mailing list Unsubscribe: https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com