CONSTRUCT - Adding Functionality to the Overall System

Calvin Spealman ironfroggy at gmail.com
Tue Sep 19 00:01:20 EDT 2006


On 18 Sep 2006 20:23:03 -0700, Ilias Lazaridis <ilias at lazaridis.com> wrote:
> Steve Holden wrote:
> > Ilias Lazaridis wrote:
> ...
> > > http://www-128.ibm.com/developerworks/linux/library/l-pymeta.html
> > >
> > > I am not so much interested in old-style, as is start production with
> > > python 2.4 (possibly even with python 2.5).
> > >
> >
> > The fact remains that you won't be able to affect the built-in classes
> > such as int and str - they are hard-coded in C (for CPython, at least),
> > and so their metaclass is also implied and cannot be changed.
>
> ...except in C.
>
> I assume the "root class" should be available/changeable in "C", too.
>
> Do I have to change the sources directly, or does python provide
> "C-level-extension/modication" mechanisms, which can be applied to
> core-level classes, too?
>
> Is the Python Object Model documented anywhere in a diagram, something
> similar to this?:
>
> http://case.lazaridis.com/wiki/RubyObjectModel

What could you possibly want to do this for so badly that you would
shun all alternatives and even resort to hacking up the runtime at the
C-level to redefine core types in non-standard and unpredictable
ways?! Seriously, please give a good reason for every doing this. I
can't imagine there is any way it would justify all this in the face
of just looking for an alternative. You aren't trying to use python,
at this point, you are trying to fork it.



More information about the Python-list mailing list