On Tue, Jun 01, 2021 at 10:17:32PM +1000, Chris Angelico wrote: > My understanding is that it would attempt to invoke > __detonation_call__ (err, I mean, __decoration_call__, but just think > how awesome the other would be) first, and if it can't find it, it > falls back on regular __call__. That would parallel how most other > things are done - repr falling back to str, iadd falling back to add, > etc.
Sure, but the analogy is more like trying repr first to produce a string, and if that doesn't work, trying iter to produce a list. Function/class decoration shares little with "variable decoration" except the name and (proposed) use of the @ syntax. It seems to me that they are only the most loosely related concepts. Ricky's proposal to use a new dunder magnifies the differences and obfuscates the similarities. > That said, I still don't like the idea of decorating a bare name. A > magic "assignment target" token that translates into the string form > of the thing being assigned to is far more useful and far less > magical. Obviously I agree, given that I proposed a special @@ symbol to do that however Stéfane's real-world example of chaining variable decorators has forced me to take that idea seriously. @acl(READ, WRITE) @constraint(10 < _ < 100) @not_null @indexed @depends_on(whatever) @inject @... first_name: str https://mail.python.org/archives/list/python-ideas@python.org/message/DCKFMWRKUQ5G2GDN6Z2DLJRKQ4LDVRIQ/ -- Steve _______________________________________________ Python-ideas mailing list -- python-ideas@python.org To unsubscribe send an email to python-ideas-le...@python.org https://mail.python.org/mailman3/lists/python-ideas.python.org/ Message archived at https://mail.python.org/archives/list/python-ideas@python.org/message/5XQOIVW7XYT7QLHSC5BWW3LJ4GIPEWHX/ Code of Conduct: http://python.org/psf/codeofconduct/