On Wed, Nov 18, 2020 at 7:04 PM Daniel Moisset <dfmois...@gmail.com> wrote:
> [sorry for the duplicate, meant to reply-all] > > Thank you for this approach, I find it really helpful to put the > conversation in these terms (semantics and guiding principles). > > It does help to rationalise discussion ;-) > [...] > 4. "Objects should be able determine which patterns they match." > This is something that you and I, and most of the authors of 622 agree on. > What we found out when discussing this is that we didn't have clear what > and how to open that customization. Some customization options added a lot > of complexity at the cost of performance, some others were very simple but > it wasn't clear that they would be actually useful, or extensible in the > future. This has a lot to do with this being a somewhat new paradigm in > Python, and our lack of knowledge on what the user community may do with it > beyond what we imagined. So the decision was "pattern matching as it is > presented without extensibility is useful, let's get this in, and once we > see how it is used in the wild we'll understand better what kind of > extensibility is valuable". For a crude analogy, imagine trying to get the > descriptor protocol right when the basic python object model was being > implemented. These things happened as different times as the use of the > language evolved, and my opinion is that customization of the match > protocol must follow a similar path. > > I haven't so far understood whether the change proposed is intended to start out in __future__. Given the preliminary nature of this development, it would seem wise to retain the option to withdraw it or modify it radically before production code depends on it.
_______________________________________________ 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/EBFOBAFOJPMKDFEQGT7ZN46R6QVM5UH3/ Code of Conduct: http://python.org/psf/codeofconduct/