[pypy-dev] Objective of minimal python
VanL
vlindberg at verio.net
Thu Jan 16 21:38:58 CET 2003
1. That the objective of the project is to create a new implementation
python that:
i. Has a smaller memory footprint; and
ii. runs applications faster than the current interpreter; and
iii. is well suited to applications making significant use of lightweight
threads and continuations.
2. To achieve this it is intended to rewrite the 'front-end' of the Python
interpreter, specifically the language parser, lexical analyser and compiler
/ byte-code generator, in python itself.
3. The byte-code interpreter (is this the same as the virtual machine?) is a
program that reads the byte-code stream as data and processes it to do 'real
work'. In order to meet objective (iii), it is intended to write a new VM
that employs structure and mechanisms seen in the 'stackless'
implementation.
From what I have read so far, this summary is incorrect. (Any
corrections to what I am saying are appreciated, tho!)
Here is what I understand:
1. The objective of the project is to create a new implementation of
python that:
i. Has as small and simple a C core as possible
ii. Uses python itself to provide as much of the functionality of
the "standard" CPython implementation as possible.
2. This new python implementation will not necessarily be stackless, nor
be particularly fast. The idea is -- at least at first -- to produce a
complete python implementation *in python* that then can be optimized
using various dynamic techniques (such as those in psyco) or easily
extended with new language ideas (like stackless).
3. A possible side-effect of implementing python in python is that
python may become impressively modular -- leading to its use in small
and embedded platforms. However, this is a possible side-benefit, and
is not the primary focus of this effort.
4. Pysco and pyrex are possible starting places for the small C core.
In fact, this is much more of a microkernal-python than a minimal python.
VanL
More information about the Pypy-dev
mailing list