Hi Armin, all,
finally I realized that I'm doing way too much in my translation efforts. It happened to me when I turned md5.py into RPython using my prototypic genrpy transformer, that this is in many cases not needed at all. If you look at md5.py, you'll see that it *is* already almost restricted Python. I can just move almost all functions over to the interpreter level.
In a sense, md5 and sha do not really belong to the appspace modules. Instead, they are almost ready internal implementations. Just the interface to the exported objects and methods needs to be created, to provide the importable builtin module.
How do we handle such things? I guess such almost-interpreter level things should have a different folder. The published module would simply be filled with app2interp gateway calls to the internal stuff, or, well, directly writing down the wrappers would be fine as well, I guess.
So my idea for cases like such is: Instead of transforming everything from appspace into interpreter level, we can use stuff almost as-is. Only non-trivial datatypes or unsupported features need to be translated from app to interp. Please correct me if I'm wrong. I was just shocked when I read the transformed MD5 source, like "hell, what am I doing here, this is no app code at all!" :-)
Any ideas how to express the necessary actions? Do we move those files elsewhere? Do we use the __all__ attribute to name the interface stuff, or do we simply add the interface things by hand?
thx & ciao - chris
-- Christian Tismer :^) <mailto:[EMAIL PROTECTED]> tismerysoft GmbH : Have a break! Take a ride on Python's Johannes-Niemeyer-Weg 9A : *Starship* http://starship.python.net/ 14109 Berlin : PGP key -> http://wwwkeys.pgp.net/ work +49 30 802 86 56 mobile +49 173 24 18 776 fax +49 30 80 90 57 05 PGP 0x57F3BF04 9064 F4E1 D754 C2FF 1619 305B C09C 5A3B 57F3 BF04 whom do you want to sponsor today? http://www.stackless.com/ _______________________________________________ [EMAIL PROTECTED] http://codespeak.net/mailman/listinfo/pypy-dev
