[pypy-dev] Hi all. I am Looking for a project idea.
amit
regmi.amit at gmail.com
Thu Nov 1 15:14:33 CET 2007
Hi Carl, Anto,
This is what I am going to play with for the next few weeks.
Idea: "Allow PyPy-JVM to use Java classes from within Python code"
OR "pypy-jvm integration for ... "
Some hacking to do :-)
a) on the translation toolchain, especially on the Java backend to
support interaction with Java classes. ( not sure what it really means )
b) on the PyPy interpreter to expose these features to the user.
Steps I should follow:
a) look at the implemented for PyPy-CLI (look at /pypy/module/clr and
pypy/translator/cli/dotnet.py)
b) gain some knowledge of reflection in JVM and the bytecode, to use
java classes.
Pinch me if I am wrong. And give me more pointers which would make my
life easier.
- Regmee
Carl Friedrich Bolz wrote:
> 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