[pypy-dev] Next step: gen???.py
guenter.jantzen at netcologne.de
Fri Apr 1 23:13:26 CEST 2005
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,
>> 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
>> 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.
> pypy-dev at codespeak.net
More information about the Pypy-dev