◐ Shell
clean mode source ↗

bpo-42128: Add what's new section for PEP 634 (pattern matching) by gvanrossum · Pull Request #24588 · python/cpython

Guido, thanks for updating what's new. What do you think of adding a small FAQ section in the what's new too? Or just mentioning that the new statements use soft keywords and old identifiers won't break?

I've seen quite a bit of FUD online, and I admit initially thinking my own code using match and case would break before I read the PEP thoroughly. So I think that placing a sentence in bold would help allay unfounded fears.

Maybe:

The match statement uses soft keywords.  Only lines beginning with ``match``, containing a subject, a colon, and a line break will be identified as a match statement.  Existing code using ``match`` as identifiers for variable names or functions will not break.

Alternatively, copied straight from the PEP:

The match and case keywords are *soft keywords*, i.e. they
are not reserved words in other grammatical contexts (including at the start of
a line if there is no colon where expected). This implies that they are
recognized as keywords when part of a match statement or case block only, and
are allowed to be used in all other contexts as variable or argument names.

BTW, Daniel and I are tracking some of our own docs works here https://github.com/dmoisset/cpython/issues , though admittedly I haven't done much yet and I plan to sprint it over this weekend ;).