[pypy-svn] r29079 - pypy/dist/pypy/doc
mwh at codespeak.net
mwh at codespeak.net
Wed Jun 21 17:37:34 CEST 2006
Date: Wed Jun 21 17:37:33 2006
New Revision: 29079
some text about the object oriented (or should that be high level?) backends
--- pypy/dist/pypy/doc/translation.txt (original)
+++ pypy/dist/pypy/doc/translation.txt Wed Jun 21 17:37:33 2006
@@ -442,18 +442,87 @@
The Object-Oriented Backends
+All of the OO backends are less mature than the C or LLVM backends.
+None can compile all of PyPy yet, but all can compile small examples.
+As they are newer than the low-level backends, we can predict the needs of
+these backends slightly better, and this is enabling them to share significant
+amounts of code, such as the equivalent of the low-level database (XXX
+.. mention that pretty much all these backends are done by volunteers?
+GenCLI targets the `Common Language Infrastructure`_, the most famous
+implementations of which are Mircrosoft's `.NET`_ and Mono_.
+.. _`Common Language Infrastructure`: http://www.ecma-international.org/publications/standards/Ecma-335.htm
+.. _`.NET`: http://www.microsoft.com/net/
+.. _Mono: http://www.mono-project.com/
+It is probably the most advanced of the object oriented backends -- it can
+compile our two standard benchmarks, RPyStone (CPython's PyStone benchmark
+modified slightly to be RPython) and a RPython version of the common Richards
+It is almost entirely the work of Antonio Cuni, who worked on this backend as
+part of his Bachelor's thesis and is continuing to work on it as part of
+Google's Summer of Code 2006 program.
+GenSqueak translates RPython programs into source that can be run in Squeak_,
+the free Smalltalk implementation.
+.. _Squeak: http://www.squeak.org/
+It is probably the least complete of the backends listed here.
+The first version was written by Bert Freudenberg of Impara GmbH, mostly as a
+way of motivating the design of the ootypesystem. More recently, it has been
+worked on by Niklaus Haldimann.
+It is a little different to the other backends, in that it is not really a
+goal to ever translate the entire PyPy interpreter -- the most important JS
+implementations are browsers, and they probably wouldn't be too happy with the
+Instead, the goal of GenJS is more directed towards allowing one to write
+Ajax_ web applications entirely in Python (the client side would have to be
+restricted to RPython_), and this is the subject of Maciej Fijalkowski's
+Summer Of Code 2006 project.
+.. _Ajax: http://en.wikipedia.org/wiki/AJAX
+The first version of GenJS was written by Eric van Riet Paap (Maciej's mentor
+for the Summer Of Code project) and now he and Maciej are collaborating on its
+GenCL generates `ANSI Common Lisp`_ source.
+.. _`ANSI Common Lisp`: http://www.lisp.org/HyperSpec/FrontMatter/index.html
+GenCL is one of the oldest backends -- some version of it has been present
+since before revision 2000, long long before any version of the RTyper
+existed! At the Tokyo sprint in April 2006, GenCL was revived and ported to
+work on OOTyped graphs.
+GenCL has seen work from many people, but the driving force has mostly been
The Interpreter-Level backend
More information about the Pypy-commit