[pypy-dev] Mixed modules for both PyPy and CPython

holger krekel hpk at trillke.net
Fri Apr 14 19:44:12 CEST 2006


Hi Armin, hi all, 

On Wed, Apr 12, 2006 at 13:48 +0200, Armin Rigo wrote:
> The purpose of the whole discussion was about how to have a "write-once,
> run-everywhere" approach of developing an extension module a single time
> and then compiling it for either CPython or PyPy.  This source code
> should not need to know if it will be compiled for PyPy or CPython (or
> even just run on top of the CPython interpreter for testing).
> 
> ... 
> Mixed modules provide explicit level separation,
> whereas the alternative is to rely on the annotator to separate the
> levels.

Hum, i wonder how strongly opposed these explicit versus implicit
level separation models need to be.  Is it not possible to support a 
programming model that can mostly avoid knowing about interpreter versus 
application level distinction without extending/refactoring the annotator? 
Maybe we could identify some interesting interaction use cases and try to 
support them explicitely like e.g. publishing an rpython level class in CPython
providing glue code between the rpython class and its CPython
representation?  

However, having an underlying interp/app separation with 'space',
wrapped objects and exceptions, still seems like a very good 
(proven) foundation on which to build such glue code.  (Btw, i wouldn't
mind if such glue code would not allow all possible interactions - 
our primary goal is not to provide seemless integration with CPython here). 
And for the planned June PyPy release we likely want to have the 
"explicit" approach nicely working before experimenting with where 
we can go from there, right? 

best, 

    holger



More information about the Pypy-dev mailing list