Mallorca sprint days 1 - 3

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
participants (1)
-
Carl Friedrich Bolz