[pypy-dev] Questions about the C core

Christian Tismer tismer at tismer.de
Sun Jan 12 01:47:49 CET 2003


Florian Schulze wrote:
> Hi!
> 
> I would like to know if there are already some concrete plans what the C
> core needs to be able to do. Will there be anything like the old builtin
> module? Will dicts and the other types still be done in C or some mix of C
> and Python etc.

I guess we will borrow most core objects in the first
place, just to get started.
A first idea is to re-implement almost everything
in Python and to let Psyco generate code for that.
At least, it will be a good case study to do this
for the implementation of the bytecode interpreter.
One good reason for that is, as soon as we have
the bytecode interpreter running, we can use any
python for cross-compiling.
We can also re-implement dicts and lists using
Python. This can be done by emulating the basic
data structures by some primitive array-like
objects that represent a piece of memory.
The simplicity of these obejcts might be used by
psyco to deduce the possible data types which can
appear in them, and produce simple, efficient code.

But maybe there are better ways. We have to play
a lot before this can be decided.

> Also will the Psyco part be optional to ease the initial porting to new
> platforms?

I believe, no. Instead, I think to supply a generic
virtual machine which is easy to produce code for,
tpgether with a very fast interpreter.
That engine would run on any machine and would
be enough to do the full bootstrap, when the
specific machine is defined, later.

Note that psyco is most probably becoming Python
code as well. :-)  :-))

ciao - chris

-- 
Christian Tismer             :^)   <mailto:tismer at tismer.com>
Mission Impossible 5oftware  :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9a     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 89 09 53 34  home +49 30 802 86 56  pager +49 173 24 18 776
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/




More information about the Pypy-dev mailing list