Upcoming PyPy sprint
Hi Python people, The next sprint for PyPy, the Python-in-Python interpreter, will take place in Leysin, in the lower mountains of Switzerland, 22nd - 29th January 2005 (travel days: 22nd and 29-30th) http://codespeak.net/moin/pypy/moin.cgi/LeysinSprint The technical goals will be two-fold: we want to continue the hard work started at the previous Vilnius sprint (a first generated C version of our interpreter); but the upcoming sprint will also be a "learning PyPy" sprint, covering all aspects of PyPy that are easier to start with. Some examples are described below. For more information about PyPy, see http://codespeak.net/pypy/index.cgi?doc . The "learning PyPy" focus comes from the fact that it will be our first sprint as a European Union sponsored group, and not all members of this EU/PyPy project are already familiar with PyPy. This is a good occasion for newcomers that want to look at PyPy more closely too, in a "fun and somewhat mind-altering" sprint event. Note that as part of our funding we want to be able to support some of the travel and lodging costs for a number of outside people as well, but although the corresponding money is in the budgets, not all administrative issues have been solved yet. We don't know yet if we will be able to do so for the January sprint. However, if you would like to come to the sprint but can't afford travel and accomodation costs then please contact us. Even if the administrative issues have not been sorted out, we may be able to help with private money. Just contact us or me personally for this sprint. About Leysin ------------ The place where the sprint will take place is located in the pre-Alps of the french-speaking (west) region of Switzerland. Leysin is a village at an altitude of 1200 to 1400m. It is a skiing station, and also the place where I (Armin) lived for 20 years. There are 2000 people in summer and 10000 in winter :-) but the sprint will be just before the most crowded periods of February. Of course one full day will be dedicated to winter sports! Both the sprint venue and the logding will be in a very spacious pair of chalets built specifically for bed&breakfast: http://www.ermina.ch/. The place has a baseline ADSL Internet connexion (600Kb); we need to arrange between ourselves to bring a wireless hub. You can of course arrange your own lodging anywhere (you cannot be more than a 15 minutes walk away from the sprint venue), but I definitely recommend to lodge there too -- you won't find better sights anywhere else (though you probably won't get much worse ones easily, either :-) Subscription ------------ Please subscribe at http://codespeak.net/moin/pypy/moin.cgi/LeysinSprintAttendants and mention if you would like to participate in the group reservation, and which size of room you would prefer (2 to 6 beds available). If you wish, you can extend your stay for some days after the 29th of January -- please mention it if you want to book with the group (but you cannot arrive there earier than the 22nd: fully booked). If you have any question don't hesitate to contact pypy-sprint@codespeak.net or one of us personally. Learning PyPy ------------- Here are some goals that are quite reachable without in-depth prior knowledge of PyPy: * systematic testing: the interpreter and type implementations work generally well, but there are quite some areas that need refactoring and refinement. A good approach is to run as many of CPython's tests as possible and fix stuff accordingly. This is a good way to learn random parts of PyPy until you know them all! * extension modules and extension types: some can be just rewritten as a plain Python equivalent, but others need to be more integrated into PyPy's internals. * the bytecode compiler: we don't have any compiler integrated with PyPy so far, but there exists a complete set of Python code out there (tokenizer, parser, st->ast, ast->bytecode) that could be used. We could also discuss ideas like syntax extensions generating new bytecodes, etc. * tracing and other wrappers: e.g. how to write a fully debugging Object Space that records the history of all changes to objects, etc. * more bits and pieces: small things missing from our interpreter to be fully compliant. Tracing/profiling hooks come to mind; more small things are listed in http://codespeak.net/svn/pypy/trunk/src/pypy/TODO . In addition to the above examples, there are a number of more involved tasks that nevertheless don't require a complete grasp of PyPy -- whose parts are relatively independent from each other. The "hard" work currently going on in PyPy is on the translation part, which is needed to make PyPy run faster and/or in other environments. This work is however mostly independent. For people that prefer to focus on cross-language stuff rather than Python internals we can discuss about tasks like writing the basics of an interpreter for another language -- for example, it would be great to have a decent error-checking Javascript interpreter, but we can discuss any other language, Python-like or not. In parallel, there is always pending work to allow the code generator to target other languages and platforms (currently there is C, Lisp, Pyrex and Java) or generate code differently (Stackless-style, Psyco-style). A bientot, Armin Rigo
participants (1)
-
Armin Rigo