Thanks Mark, this is a helpful and valuable contribution. I will try to understand and review it in the coming weeks (there is no hurry since the decision is up to the next SC) but I encourage you to just put it in PEP form and check it into the PEP repo.
Because I only skimmed very briefly, I don't have an answer to one question: does your PEP also define a precise mapping from the PEP 634 syntax to your "desugared" syntax? I think that ought to be part of your PEP. --Guido On Mon, Nov 16, 2020 at 6:41 AM Mark Shannon <m...@hotpy.org> wrote: > Hi everyone, > > There has been much discussion on the syntax of pattern matching for > Python (in case you hadn't noticed ;) > > Unfortunately the semantics seem to have been somewhat overlooked. > What pattern matching actually does seems at least as important as the > syntax. > > > I believe that a pattern matching implementation must have the following > properties: > > * The semantics must be precisely defined. > * It must be implemented efficiently. > * Failed matches must not pollute the enclosing namespace. > * Objects should be able determine which patterns they match. > * It should be able to handle erroneous patterns, beyond just syntax > errors. > > PEP 634 and PEP 642 don't have *any* of these properties. > > > I've written up a document to specify a possible semantics of pattern > matching for Python that has the above properties, and includes reasons > why they are necessary. > > > https://github.com/markshannon/pattern-matching/blob/master/precise_semantics.rst > > It's in the format of a PEP, but it isn't a complete PEP as it lacks > surface syntax. > > Please, let me know what you think. > > Cheers, > Mark. > _______________________________________________ > 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/BTPODVYLPKY5IHWFKYQJICONTNTRNDB2/ > Code of Conduct: http://python.org/psf/codeofconduct/ > -- --Guido van Rossum (python.org/~guido) *Pronouns: he/him **(why is my pronoun here?)* <http://feministing.com/2015/02/03/how-using-they-as-a-singular-pronoun-can-change-the-world/>
_______________________________________________ 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/WNOYRSRU6HNSZIQGO3YLQ6H2GJK6GGHP/ Code of Conduct: http://python.org/psf/codeofconduct/