Le 14/08/2020 à 16:24, Mark Shannon a écrit : > > https://github.com/markshannon/pep622-critique
Hi all, reading through this made me think of 3 ideas which I think are new [1]. 2 of them are about the Value Pattern question, the last one is a small nit about the Django example. * the critique points the limitations to the use of pattern matching in __init__ methods, because Capture Patterns can't assign to dotted names. Thus the currently proposed dot-based rule is a limitation not just for Value Patterns, as already heavily discussed, but also for Capture Patterns. Moreover, this limitation cannot be lifted after the fact if the __init__ method use-case proves important in the future. * the critique points that Value Patterns with booleans would need identity-, not equality-based comparison. This leads to the idea that, if a special syntax if eventually used for Value Patterns, using the comparison operator in it might be useful. Thus we could have: >>> match int_or_boolean: # ok, dubious design! ... case is True: # same as "if int_or_boolean is True:" ... print("boolean true") ... case is False: ... print("boolean false") ... case == ONE: # same as "if int_or_boolean == ONE:" ... print("integer 1") * the Django example could be written more idiomatically by relying more on destructuring instead of having a guard: >>> match value: ... case [first, *_, label := (Promise() | str())]: ... value = value[:-1] ... case _: ... label = key.replace('_', ' ').title() Cheers, Baptiste [1] as in: I skimmed through most of the threads and believe they have not already been said (famous last words…) _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/P7BNZEOOKAEVZCSOVAN7WZYYHLZYO4QR/ Code of Conduct: http://python.org/psf/codeofconduct/