[pypy-dev] LL3 abstract.
Jonathan David Riehl
jriehl at cs.uchicago.edu
Thu Oct 16 03:15:40 CEST 2003
I've attatched my first draft of a presentation abstract that I'll
be submitting to LL3. This proposal is due this Friday (the 17th), so if
you are interested in what I'm going to say in Boston, you might want to
check this out right now and get any feedback to me ASAP. I'd especially
like feedback from people that have already given presentations on PyPy or
are doing development on the translator (the whole sprint was a blur to me
- I'm going to need help remembering what I was witness to!)
In case you don't remember what LL3 is, Dinu forwarded a call for
presentations late last month, and you can look at the website at
http://ll3.ai.mit.edu/. If anyone else in pypy-dev is attending, I should
be there whether my presentation is accepted or not, and we should discuss
-------------- next part --------------
"Yet Another Python Implementation?
- Some recent results from the PyPy project."
In January of 2003, Armin Rigo, Christian Tismer and Holger Krekel
began a project with the intention of providing a new implementation
of Python written in the Python language. Named PyPy, the project's
goal is to provide a self-hosting Python that allows
both ease of maintenance and flexibility for language implementors.
In the last year, the PyPy team has developed a proof of concept
implementation of Python in Python, and has recently taken steps
toward bootstrapping PyPy into running outside of the current C
implementation of Python, commonly referred to as CPython.
One of the more attractive goals in the bootstrapping process is to
have PyPy generate a native executable that fully replaces the CPython
interpreter. This step would allow Pypy development to proceed fully
independent of CPython development. Furthermore, a Python
implementation hosted by CPython suffers performance penalties by
nesting a VM implementation inside another VM. Therefore, an obvious
step in this strategy is to build a translator from Python source into
either a statically built language (such as C) or directly into a
machine language of the target architecture (such as a JIT compiler).
One of the more interesting aspects of the system design is that both
translation methods may be readily added to PyPy.
My presentation will have two primary goals: First, I will introduce
the PyPy project and its architecture, providing a high level overview
of the system design. Second, I will present some interesting
results obtained during a recent development workshop (commonly
referred to as a sprint in Python parlance). Specifically, I will
discuss how PyPy is now capable of a limited Python to C translation,
and contrast this with previous work done by several other groups in
the Python community. Finally, I will discuss some future directions
being investigated by the development team, including a possibly novel
approach to type inference based on logic programming.
(Estimated time: 10 mins. on background, 10-15 mins. on translation and
possibly type inference, 5-10 mins. on questions.)
More information about the Pypy-dev