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.rstIt'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] 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/BTPODVYLPKY5IHWFKYQJICONTNTRNDB2/ Code of Conduct: http://python.org/psf/codeofconduct/