[pypy-dev] Questions

Christian Tismer tismer at tismer.com
Fri Dec 12 01:10:08 CET 2003


Richard Emslie wrote:

...

> That explains a lot, I was ironically starting to think RPython is really
> very dynamic, but after the dust settles I guess that's it.  I am assuming
> therefore on the call to initialize() [do europeans generally follow
> american spelling? ;-)] we are free to do all sorts of dynamic
> manipulation to our classes and objects - However, during the course of
> building the sys module & builtins (*) we seem start interpreting some
> bytecodes!!  How is that possible if we don't have any object spaces ready
> to act on?

It does all not really matter, given that you crank the
thing up *someway*. During that phase, you can use all and
everything from Python, you are just supposed to create
the modules, objectspace and such, and produce the needed
code objects.

Once you are done, you want to say "this is now my Python,
and it is running upon RPython, only".
That's the point. At that moment, you need to forget all tricks
and stuff that you used during bootstrap phase. Now the RPython
rules must be obeyed. Only code objects with that properties
may now be visible.

Reason?
Well, you can run this interpreter now, but it's not the point.
The point is, from the current compiled RPython bytecode,
you can create a new source. The frozen source of this interpreter.
And since it is RPython, you can generate efficient code, like
the efficient code which we know: The C code.

Well, and this is done by running the flow object space on top
of that. It gives all the information to create efficient code.

Dunno if that helps and if I was on track ;-)

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  mobile +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