I've been following PyPy for awhile. It's an incredibly ambitious project, and the fact that it is now close to being a competitive Python implementation for real-world use is amazing.
A brief summary of why the project is so cool: the actual Python interpreter is written in a subset of Python known as RPython. The actual Python interpreter can by run sandboxed within another Python process, for example (albeit slowly). That also means the actual language implementation can be clean, concise, and beautiful like a relatively high-level language allows.
They also wrote a JIT generator that takes an interpreter written in RPython and makes a JIT out of it. Right now, the JIT generated from their Python interpreter could fairly be called faster than CPython and will probably only improve.
The neatest part is that it is feasible that someone could write an interpreter for another language, like Ruby or Javascript, in RPython or a language semantically equivalent to it. Conceivably the JIT generator could then compile it down to a very fast language implementation, with little optimization work required by the language implementor.
This kind of separation of concerns is something that could produce absolutely incredibly practical value in the near future. Even if PyPy doesn't work out (it is way behind their anticipated schedule, but I think it will) the developers behind this deserve a lot of respect for breaking so much ground.
A brief summary of why the project is so cool: the actual Python interpreter is written in a subset of Python known as RPython. The actual Python interpreter can by run sandboxed within another Python process, for example (albeit slowly). That also means the actual language implementation can be clean, concise, and beautiful like a relatively high-level language allows.
They also wrote a JIT generator that takes an interpreter written in RPython and makes a JIT out of it. Right now, the JIT generated from their Python interpreter could fairly be called faster than CPython and will probably only improve.
The neatest part is that it is feasible that someone could write an interpreter for another language, like Ruby or Javascript, in RPython or a language semantically equivalent to it. Conceivably the JIT generator could then compile it down to a very fast language implementation, with little optimization work required by the language implementor.
This kind of separation of concerns is something that could produce absolutely incredibly practical value in the near future. Even if PyPy doesn't work out (it is way behind their anticipated schedule, but I think it will) the developers behind this deserve a lot of respect for breaking so much ground.