[Types-sig] Re: Meta-classes discussion starter

Evan Simpson evan@tokenexchange.com
Mon, 30 Nov 1998 14:05:09 -0600


Hmm.  I guess I need to clarify my clarification :-)

>Have you read my post "ASCII art" in the python-classes@egroups.com
>mailing list?  It's very relevant.  I'll repeat it here, because it's
>such a drag to dig it out of the egroups archives (and their HTML
>screws up the ASCII art!).  But you should still read that group's
>archives, at http://www.egroups.com/list/python-classes/.


When I said "Many of the threads in the archive...", I was in fact referring
to the python-classes egroups archive.  Your ASCII art post was my mental
jumping-off point for all of my thoughts on meta-classes.

That said, I couldn't make any sense of either of the following:

>- I like David's idea of specifying the metaclass in the class
>statement.  Specifying the base class is specifying the arrow to the
>right; specifying the metaclass is specifying the arrow down.


Perhaps I'm thinking too statically, but to my mind, you don't specify the
metaclass of a class any more than you specify the class of an instance (by
"calling" the (meta-)class).  This is essentially where my two meta-class
problems arise.

>- There is a difference between class methods (which specify behavior
>of the class, and are defined in the metaclass) and C++/Java style
>static methods (which should be defined in the class using a special
>syntax so that they don't belong to a specific instance; however, as
>in C++/Java, it should still be *possible* to invoke them via the
>instance, as well as via the class.)  [I had a longer rant about this,
>but no time to condense it now.]

Where would this difference lie, other than in the point of definition?  Or
are you simply dividing methods which bind to classes from those which bind
to instances?

>- There are plenty of problems left.  Later, after my drumming class :-)


I never saw any deeper exploration of these ideas.  If there was, could
someone point me at it?