[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'

 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.


More information about the Pypy-dev mailing list