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

Reply via email to