Christian Tismer wrote:
I see, that really clears things up a bit. Is it correct to say that
geninterping such an "applevel RPython" module guarantees that the
resulting interplevel code can in fact be translated? That sounds a
bit too much like magic to me.
No, it doesn't. It tells you that the flow space is happy with
your code, but still there may be issues with annotation I think.
And stuff like producing an infinite recursion is not detected
at all. For instance, we had code that relied on applevel in
a way that the implementation called into the interpreter for
something that then goes back to the implementation which...
So I'd say geninterping is a necessary but not sufficient condition.
Thanks for the pointers Christian, I see much clearer now.
The strategy for the array module is now set (also after an email
exchange with Armin): I'm writing it in applevel, not even caring much
about geninterping it. It's no use thinking about an interplevel RPython
version right now, because it's hard (e.g., it would require some
serious hacks to implement a method like array.append which accepts
several data types) and will potentially get easier in the future with
more low-level types available.
Cheers
Nik
_______________________________________________
[email protected]
http://codespeak.net/mailman/listinfo/pypy-dev