
Terry Reedy wrote:
A major points of Kohn's post is that 'case' is analogous to 'def' and match lists are analogous to parameter lists. In parameter lists,
I'm sorry to disagree, but match lists share very few things in common with today's parameters list, and introduce a full new concept of "matching" vs "binding/capturing" that doesn't exists with the function definition.
untagged simple names ('parameter names') are binding targets. Therefore, untagged simple names in match lists, let us call them 'match names' should be also. I elaborated on this in my response to Tobias.
This approach, for me, seems to come from functionnal languages where pattern matching is a thing. The proposed "match" clause tends to mimic this approach, and it can be a good thing. But the Python's function definition has not been inspired by functionnal programming from the ground, and I think it would be an error to reason this way, because people not used to pattern matching in functionnal programming won't understand anything (imagine that comprehension lists are a big thing for many learners). That's why I think reasonning in such a theorical point of view will leads many python developpers to a dead end.