El dom, 9 ene 2022 a las 10:50, Chris Angelico (<ros...@gmail.com>) escribió:
> On Mon, Jan 10, 2022 at 3:49 AM Christopher Barker <python...@gmail.com> > wrote: > > > If "x->y" is syntactically valid anywhere in Python code, it's not a > > problem that there are no core data types for which it's meaningful.) > > > > Here's where I'm not so sure -- this looks a lot like a binary operator, > but it behaves quite differently. IIUC it would always create a Callable, > regardless of what the types were of the two other types. And it would not > invoke a dinder on either, yes. > > > > Nor would it be like assignment. > > > > This is even worse than the use of [] in type hinting which is also > using the same sytax for a very different meaning -- at least that one is > stil calling __getitem__ :-) > > > > From my understanding, "x->y" would create a Callable if given two > *types*, but its meaning if given two other objects is still > undefined. So there's still room for it to be an operator, just like > [] is, and for it to be given semantic meaning for the 'type' type and > all of its subclasses. Or alternatively, there's room for it to be > given meaning in a completely different way, but still universally > (there's a proposal for it to be a form of inline function, although > I'm not 100% sure of the details there). > With the current iteration of PEP 677, `(x) -> y` would return a special object (defined in the `types` module) that simply holds whatever `x` and `y` evaluate to. You could put whatever expression you want at runtime and it would work, though a static checker may be unhappy with you. > > ChrisA > _______________________________________________ > 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/R6OIHWU5226BANUXMJLZID3KNUDBM4BL/ > Code of Conduct: http://python.org/psf/codeofconduct/ >
_______________________________________________ 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/U6C7Z473YEJYGSN7PKYLQQGEQIH2QRN2/ Code of Conduct: http://python.org/psf/codeofconduct/