[pypy-dev] Mallorca sprint days 1 - 3

Carl Friedrich Bolz cfbolz at gmx.de
Wed Jan 25 20:13:50 CET 2006


Hi all!

This is the first report of the challenging Mallorca sprint. On the one 
hand getting here proved to be quite an ordeal for some of the sprinters 
due to bad weather at airports and uncooperative ferry companies. On the 
other hand it seems that we have finally run out of even vaguely easy 
tasks to do and are thus involved in serious head-scratching and the 
making of strange noises as we contemplate what we have to do.

The sprint is hosted in the GNU/Linux lab of the Universitat de les 
Illes Balears in Palma de Mallorca. We are very thankful to them for 
letting us disturb their undergraduates in their attempts to use the 
computers.

On the first day some of the strangest noises were produced by Samuele 
who started together with Gerald and Stephan to work on a static version 
of ctypes for rpython. On Tuesday evening, after lots of tedious work on 
all levels of the translation toolchain, they managed (with some 
cheating) to got an example calling atoi to run.

Michael and Arre started extending the l3interpreter to support 
operations involving heap-structures in a way that could be run on top 
of the llinterpreter and after translation to C. After some argument 
with Samuele, who, as usual, turned out to be right, they were 
successful in their goals. This means that the l3intepreter can now 
perform reasonably complex operations involving pointers but not 
subtract two integers.

Carl Friedrich and Richard started refactoring the gc framework to use 
the new facilities Michael and Arre had written. Progress there was 
extreeeemely slow, so that in the evening of the first day only marginal 
progress was achieved.

Christian, Eric and later Jacob started exposing PyPy's stackless 
features to application level. While doing this they found a few 
problems in the interp-level code and refactored it a bit. On the second 
  and third day Christian and Jacob continued with this. They managed to 
expose simple coroutines on Wednesday and are now continuing to create 
nicer interfaces following the stackless module of stackless Python. One 
of the problems there turned out to be testing turnaround time, since 
the functionality can only be tested after a full translation has been 
run. There might be some ways around this involving slimy hacks.

On the second day most pairs continued as before. Armin and Carl 
Friedrich worked on the JIT. They started defining an interface to 
generate code at runtime (see 
http://codespeak.net/svn/pypy/dist/pypy/doc/discussion/draft-jit-ideas.txt) 
and then using this same interface in the low level abstract 
interpreter. This turned out to be quite difficult in the sense that 
most of the time was spent re-redesigning the interface yet another time.

On the third day Armin swapped with Samuele and continued with Gerald 
and Stephan to work on rctypes, with slow but steady progress. They are 
now able to annotate simple cases that use structures.

Arre and Samuele tied themselves to the JIT treadmill and continued the 
work of Armin and Carl. A lot of "wuah!"'s and "arrgh!"'s can be heared 
from their direction -- we assume they are having fun.

Carl Friedrich and Michael thought about how to integrate the currently 
only simulated GC framework with the backends. This looked and still 
looks like it will be *a lot of* work but they were able to at least 
clarify some issues and get somewhat started.

Eric and Richard tried to finally remove the dependency on pyrex (!) in 
genllvm which is a relict from the old days of the first LLVM backend 
(which was pre-rtyper!). They are also working on removing some 
hand-written C code from genllvm.

So while we're not seeing super-rapid progress there are still 
interesting changes continuously arriving. Tomorrow is a day off, but 
given the bunch of obsessives we are there might still be some checkins. 
There will still be three full days of sprinting afterwards.

Cheers from sunny Palma,

Michael & Carl Friedrich



More information about the Pypy-dev mailing list