Armin,
Ouch, I suppose :-) Explicit C++ mangling. The alternative would be to use ffi.set_source() instead of ffi.dlopen(), and use a C++ compiler again to produce the cffi binding.
sure, but the mangled name saves a redirection and has less code to generate, was my point. Besides, who looks at generated code. :) Have you seen what comes out of the PyPy translator ...
But as you mentioned there are additional issues, e.g. with instantiation of templates.
And all other dynamic behaviors, incl. deriving Python classes from C++ ones for use in C++-land. (Is currently disabled, as I never implemented that for the PyPy side, only CPython (it uses the Python C-API).) Or general patch-ups (e.g. byte* <-> char*). Or auto-downcasting (favorite). Or class unique-ness. Or adding user-defined classes interactively. As said, in the end it'd be just SWIG but with a better parser (and no Python versioning issues, or new language to learn). I'd like to see the performance of a more complex case, though. E.g. when doing class matches using Python reflection such as isinstance. I've always had a hard time getting these things fast in RPython, and PyPy may have an easier time with proper Python code (another reason to reject C++ wrappers and live with mangled names). Best regards, Wim -- wlavrij...@lbl.gov -- +1 (510) 486 6411 -- www.lavrijsen.net _______________________________________________ pypy-dev mailing list pypy-dev@python.org https://mail.python.org/mailman/listinfo/pypy-dev