[Python-Dev] Re: The semantics of pattern matching for Python

2020年11月17日 07:21:34 -0800

Hi Guido,
On 16/11/2020 4:41 pm, Guido van Rossum wrote:
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.
No it doesn't define a precise mapping, and I don't think it will.
I'm not familiar enough with ever corner of PEP 634 to do that.
I could add a general "how to" guide though. It fairly straightforward conceptually but, as you know, the devil is in the details.
Cheers,
Mark.
--Guido
On Mon, Nov 16, 2020 at 6:41 AM Mark Shannon <[email protected] <mailto:[email protected]>> 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 -- [email protected]
 <mailto:[email protected]>
 To unsubscribe send an email to [email protected]
 <mailto:[email protected]>
 https://mail.python.org/mailman3/lists/python-dev.python.org/
 Message archived at
 
https://mail.python.org/archives/list/[email protected]/message/BTPODVYLPKY5IHWFKYQJICONTNTRNDB2/
 Code of Conduct: http://python.org/psf/codeofconduct/
--
--Guido van Rossum (python.org/~guido <http://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 -- [email protected]
To unsubscribe send an email to [email protected]
https://mail.python.org/mailman3/lists/python-dev.python.org/
Message archived at 
https://mail.python.org/archives/list/[email protected]/message/EDHCIYYAGW4YRLWD6BKLTQY7FRNNTZH7/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to