On 2022-04-26 06:32, Larry Hastings wrote:
Sorry, folks, but I've been busy the last few days--the Language Summit
is Wednesday, and I had to pack and get myself to SLC for PyCon, &c.
I'll circle back and read the messages on the existing threads
tomorrow. But for now I wanted to post "the wonderful third option" for
forward class definitions we've been batting around for a couple of days.
The fundamental tension in the proposal: we want to /allocate/ the
object at "forward class" time so that everyone can take a reference to
it, but we don't want to /initialize/ the class (e.g. run the class
body) until "continue class" time. However, the class might have a
metaclass with a custom __new__, which would be responsible for
allocating the object, and that isn't run until after the "class body".
How do we allocate the class object early while still supporting custom
metaclass.__new__ calls?
So here's the wonderful third idea. I'm going to change the syntax and
semantics a little, again because we were batting them around quite a
bit, so I'm going to just show you our current thinking.
The general shape of it is the same. First, we have some sort of
forward declaration of the class. I'm going to spell it like this:
forward class C
just for clarity in the discussion. Note that this spelling is also viable:
class C
I don't like that because it looks like you've just forgotten the colon.
Perhaps:
class C: ...
[snip]
_______________________________________________
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/IZAWCYPHGD2ZVB2U6TVIBM5XKGY5KQS6/
Code of Conduct: http://python.org/psf/codeofconduct/