was: Re: looking for MOP documentation

Peter Hansen peter at engcorp.com
Thu Sep 18 12:40:11 EDT 2003


Alan Kennedy wrote:
> 
> Peter Hansen wrote:
> > Key phrase: "Metaobject protocols are interfaces to the language
> > that give users the ability to incrementally modify the language's
> > behavior and implementation...".  Near as I can tell, part of the
> > whole character of Python is that a user *cannot* do either of
> > those things.
> 
> Hmm, does this rephrasing hold any truth?
> 
> "Metaclasses are interfaces to the python language
> that give users the ability to incrementally modify the language's
> behavior and implementation...".
> 
> Isn't modifying standard behaviour the whole purpose of metaclasses?

But it doesn't really modify the *language's* behaviour in the way 
implied by a simplistic reading of the above phrase.  That is, the
"obvious" interpretation is that syntax and grammar are being affected,
not just the behaviour of one small slice of the language, specifically
how classes behave.  In some languages the two things are not so
separate, but in Python they seem to be.

-Peter




More information about the Python-list mailing list