> Others know more than I do, but writing a CPython module in C
> interacts very significantly with mechanisms that are
> internal to the Python interpreter, and needs to be involved
> with the reference-counting mechanism that's the basis of
> CPython's garbage collector (when IronPython uses the .Net
> collector and doesn't use reference counting). Also, a
> CPython C-coded module manipulates data structures that
> actually ARE the internal data structures of the interpreter.
> The IronPython interpreter shares none of those structures.
Right - the fact that CPython encourages/forces you to work with
structs, pointers, etc. directly is the real problem. If there
were a truly 'abstract' interface for C extensions it would be
much easier to contemplate a CLR (or other VM) abstraction layer.
I bet the PyPy folks wish that were true as well ;)
Brian Lloyd brian at zope.com
V.P. Engineering 540.361.1716
Zope Corporation http://www.zope.com