[pypy-dev] Project suggestions
Aurélien Campéas
aurelien.campeas at free.fr
Mon Sep 26 23:39:32 CEST 2005
Hello, pypy people,
Armin Rigo a écrit :
> Hi Boria,
>
> We are indeed starting to think about more focused research areas in
> PyPy. For example, along these lines, we will need more work on
> compiler optimizations and generation of code for various architectures,
> both either statically or just-in-time. More along the lines of
> interpreters and virtual machines, we could start investigating new
> aspects that would be useful to code into the interpreter or the
> translation process: continuations, persistence (either dumping a
> whole-process image or something more fine-grained), security (running
> code in a sandbox), and much more, all of which is hinted at in some
> documentation on Codespeak. Finally, there is also the idea of
> supporting other dynamic languages than Python by writing an interpreter
> for them in PyPy.
I have been looking into pypy for a few days, and trying to understand
how to make the Lisp backend work.
I now understand that due to pypy heavily layered nature, it is possible
to use a language like lisp, as a target, at different levels. For
instance, bytecode interpreter (by providing a proper set of functions
to handle the bytecodes ?), or compiler (by translating the function
graph into low-level lisp). Right now, I am sticking with the second
way, as it was started in gencl.py
(btw, one question that is not clear to me is about the function graph :
does it contain python or rpython opcodes ?)
I am also thinking about another possibility (wrt your last sentence) :
translating directly the parse tree into high-level lisp. Maybe this
idea is nonsense. In fact, the distance from de-sugared python to the
opcode is unknown to me (even though I suspect there is no 1:1 mapping
between the two). Whatever, that could be the start of a strategy to
translate python towards other high-level languages (ruby, or js as in
the other thread) without paying the full price of opcode interpretation
in the target (that is : parts which are semantically similar could be
easily translated, others would be -costily- emulated).
Thoughts ? (aka : does it look like gibberish ?)
Thanks,
Aurélien.
More information about the Pypy-dev
mailing list