[pypy-dev] Hi all. I am Looking for a project idea.

Carl Friedrich Bolz cfbolz at gmx.de
Thu Nov 1 10:38:10 CET 2007


Hi Amit,

amit wrote:
> I went across this page 
> http://codespeak.net/pypy/dist/pypy/doc/project-ideas.html
> 
> My project requires me to modify an existing compiler or interpreter, or 
> write a program from scratch. I could not figure out how much time it 
> would take to say write an interpreter for Aldor. If someone has some 
> suggestion on any idea that I could put an effort into for 4 weeks 
> (that's when my project work is due) I would be very happy to learn more 
> of pypy.
> 
> I have fair amount of python coding experience.

The answer, as usual, is "depends". Starting an interpreter for this 
language from scratch is probably very hard if you are not re-using code 
from existing implementations. Is there some sort of intermediate code 
format that you can reuse? Can you reuse the parser and type inferencing 
engine somehow (since you probably don't want to rewrite that)?

Another reason why Aldor might not be suited well (if I understand 
things correctly) is that it is an extension language to a CAS system, 
which means you would need to call back into the CAS at certain points. 
This is probably quite some additional effort which is not directly 
relevant to the real problem (writing an interpreter).

If you are not dead-set on Aldor you could think about implementing 
another language or about working on one of our existing interpreters 
(or on the translation toolchain, which really is a compiler).

An example of a project that would be useful for us and involves a bit 
of compiler and a bit of interpreter hacking is the following: Allow 
PyPy-JVM (the PyPy Python interpreter translated to the JVM) to use Java 
classes from within Python code, similarly to what Jython provides. This 
is implemented for PyPy-CLI already, so you could roughly follow this 
implementation. It would need some hacking on the translation toolchain, 
especially on the Java backend to support interaction with Java classes. 
It needs a bit of knowledge of the JVM, especially of reflection to 
dynamically use java classes. And finally it needs some hacking on the 
interpreter to expose these features to the user.

It's probably a bit much for a four week project, but both Anto Cuni 
(the author of the CLI backend and general PyPy contributor) and me 
could mentor you a bit, if you feel like it.

Anyway, that's just one idea, we can also think of others, if you tell 
us a bit more about your interests.

Cheers,

Carl Friedrich



More information about the Pypy-dev mailing list