[pypy-svn] r31525 - pypy/extradoc/sprintinfo/mallorca

bea at codespeak.net bea at codespeak.net
Wed Aug 23 12:53:40 CEST 2006

Author: bea
Date: Wed Aug 23 12:53:38 2006
New Revision: 31525

   pypy/extradoc/sprintinfo/mallorca/mallorca-sprintreport.txt   (contents, props changed)
creating a separate file from two different pypy-dev postings (doing this because of creating an overview page with "all" sprint reports 2003-2006)

Added: pypy/extradoc/sprintinfo/mallorca/mallorca-sprintreport.txt
--- (empty file)
+++ pypy/extradoc/sprintinfo/mallorca/mallorca-sprintreport.txt	Wed Aug 23 12:53:38 2006
@@ -0,0 +1,140 @@
+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 
+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 
+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
+We greet you once again from the Aula Linux lab of the UIB in Palma de
+Mallorca.  There is one more day of sprinting, but as many people have
+had to leave slightly early, it's probably safe to attempt some kind
+of summary.
+Thursday was the break day, which didn't stop some mad people from
+doing a little work on rctypes and the JIT.  The sane ones among us
+went hiking or to artists' studios instead :)
+Friday was not the most productive of days, partly becase we gave a
+talk to some people from the university and the local free software
+user group in the afternoon.  Also contributing to the lack of results
+were the general difficulty of the tasks and some amazing getting-lost
+skills ("getting lost" here refers to the physical world for a change).
+Armin, Arre and Samuele worked on the JIT, the idea being to write an
+"abstract abstract interpreter", which would specialize an abstract
+interpreter of low-level graphs for a particular set of low-level
+graphs.  At lunch they told a hilarious joke that they weren't going
+to do this at all and would instead re-use the annotator to extract
+the needed information.  This then turned out to not be a joke at all,
+and is exactly what they did for the next two days (apparently they
+plan to re-use the rtyper as well, but this is just preposterous).
+Christian worked on coroutines and other stackless-like functionality,
+with good results: you can now build a version of pypy that can use
+and freely intermingle raw coroutines, tasklets and greenlets all at
+once.  Apparently this is all fairly natural in the implementation,
+but must allow for the possibility of some *deeply* obscure user
+code... (obfuscated pypy contests, anyone?)
+Michael and Carl repeatedly bashed their heads onto the topic of gc
+integration, the desk, reference counting details, walls, genc and so
+on.  The basic goal was to express the logic behind placing incref and
+decref operations as a nice and fairly clear transformation of the
+flow graphs, as opposed to backend-specific incomprehensible hacks.
+This task was made considerably harder by exceptions (who uses them,
+anyway?) but hopefully by the time we've finished writing this report
+we'll have built a pypy-c in the new style.  This work should allow
+(finally) the integration of the GC framework Carl wrote as his Summer
+of Code project, and mere mortals to understand genc.
+Gerald and Stephan continued to work on "rctypes" -- a static version
+of ctypes for RPython.  Reasonably complex ctypes declarations can now
+be annotated.
+Eric and Richard worked on a transformation to replace some of the
+operation that can raise exceptions with direct_call operations --
+something that will be very useful for the GC work mentioned above,
+because operations that can raise an exception need special treatment
+-- so the fewer the better!
+And finally, some really interesting news: Armin plans to release
+Bub-n-Bros 1.5, the play testing of which delayed this morning's
+status meeting considerably :)
+To sum up, this sprint has seen a fair amount of work on very
+challenging tasks.  As usual we all need to sleep for a week, so it's
+time to leave this wonderful island (also, it's raining).
+mwh and Carl Friedrich
\ No newline at end of file

More information about the Pypy-commit mailing list