David A. Black said:
> I'd go along with "directly influenced", but not
> "determined"; that is, an object's "birth class" certainly has a role
> to play in the object's method capabilities, but is not a determinant.

As do all the ancestors in the

> What I got from the quotation, and your gloss on it, was that
> "metaclass" is recognized (outside of Ruby) to mean a factory for
> classes, and that therefore it could be used to refer to a Class
> object's singleton class.

The analogy in the quote did indeed focus on the creation aspect, and I
did indeed gloss over the fact that singleton classes don't create new
instances.  Perhaps the analogy was poorly suited for my point.

What I was trying to communicate with the quote is that Metaclasses are to
classes what classes are to objects.  As classes hold the behavior for
objects, metaclasses hold the behavior classes.  A Metaclass is a class
whose instances are classes (or in the case of a singleton metaclass, whos
one and only instance is a class).

> I must have garbled something I said somewhere along the line; I
> definitely would never (knowingly :-) suggest that singleton classes
> are not classes.  See below....

And just as the inability to create new instances does not disqualify
singleton classes from being classes, the inability for a singleton
metaclass does not disqualify it from being a metaclass.

> Correspondingly, if there is a "template for making cookie cutters
> themselves" (to paraphrase) in Ruby, it would be the object Class
> itself.

Indeed, Class is the Metaclass from which all the singleton metaclasses
derive.

-- 
-- Jim Weirich     jim / weirichhouse.org    http://onestepback.org
-----------------------------------------------------------------
"Beware of bugs in the above code; I have only proved it correct,
not tried it." -- Donald Knuth (in a memo to Peter van Emde Boas)