Well, first and foremost, when I said that I leave the door open for
further explanations, I meant explanations by other people more
knowlegeable than me :-)

> Now I'm confused again--psyco translates Python into machine code--so
> how does this tie in with the fact that the interpreter written in
> Python is translated into another language (in this case C?)

No, the psyco-like techniques come later, after the rpython interpreter
is auto-translated to c. They are not used to translate the interpreter
to c (this is done through a tool that uses type inference, flow-graph
anailisis, etc, etc).
Getting the rpython auto-translated to C is the first goal of the
project (already achieved).
That means having a minimal core, writen in a low level language (c for
speed) that hasn't been writen by hand, but auto-translated to c from
the python source -> much easier to improve and maintain from now on.

Think about this: improving and maintaining a hand coded c
implementation like cpython is a nightmare. The more complex the code,
the more dificult is its improvement and experimentation.
Now, they have it all written in python (rpython) instead, which is
easier, nicer and more flexible. And this python code can get
authomatically translated to C (no hand coding, this is done by the
tool I mentioned above).

Now this is both, a conclusion and a question (because I also have many
doubts about it :-):
At this moment, the traslated python-in-python version is, or intends
to be, something more or less equivalenet to Cpython in terms of
performance. Because it is in essence almost the same thing: another C
python implementation. The only difference is that while Cpython was
written by hand, pypy was writen in python and auto-translated to C.

What remains to be done now is implementing the psyco-like techniques
for improving speed (amongst many other things, like stackless, etc).

Luis

-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to