[pypy-dev] Next step: gen???.py

Günter Jantzen guenter.jantzen at netcologne.de
Fri Apr 1 23:13:26 CEST 2005

Hello Samuele,

C# is very similar to Java and supports 'goto'.
Could this be an option?


Samuele Pedroni schrieb:
> Armin Rigo wrote:
>> * genjava.py could be another option.  It has a simpler type system, 
>> which
>> matches ours quite well, but genjava doesn't exist yet at all (the one 
>> in the
>> java/ subdirectory had a different goal in mind).  We get memory 
>> management
>> for free.  If we add the requirement to compile with GCJ it could be 
>> easy to
>> make a CPython extension module too, with the same problems and solutions
>> about SomeObject as above.
> We would get gc, thread support, a runtime and useful libraries 
> (unicode, big integers ...), and an object model for free. How much of 
> that and with what stability if we go through gcj is a bit open, 
> although for the target of self-hosting that would be the interesting 
> route. Java has no gotos wich means that at some point we would have to 
> generate bytecode wich is not too
> hard but sometimes making the java verifier happy is harder than it 
> could seem. The type system should match but there are no pointer to 
> functions or delegates wich means some more involved solution to emulate 
> them. We could probably reuse some things or ideas that are in Jython.
> Whether the things we would get for free and the type system and basic 
> object model are really a good match for the code we can easily generate 
> is also a open question.
> So it probably makes sense as a platform to try long term, and surely 
> when we have made even more progress in annotating our codebase. Also 
> because reusing java or jython stuff instead of trying to interface with 
> CPython is probably easier because of ref-counting vs gc issues.
> But is worth keeping it in mind as a reserve route, because its 
> trade-offs come together with quite a bit of high level functionality 
> already there.
> But I agree that genc especially with an approach involving 
> incrementally rewriting the graphs is the most natural route right now.
> Samuele.
> _______________________________________________
> pypy-dev at codespeak.net
> http://codespeak.net/mailman/listinfo/pypy-dev

More information about the Pypy-dev mailing list