Heidelberg sprint report 22nd-29th August
=============================================
The heidelberg sprint was announced_ late July
and around `13 people registered`_ and showed up
at the nice Heidelberg physics institute where
Carl Friedrich Bolz had organized sprint facilities
for us.
The sprint was focused on getting a `0.7.0 release out`_ and
improve and refine crucial areas like threading, GC and
CPython compliancy. Here is what people worked on in a
somewhat chronological non-particular order and certainly
not complete:
- Samuele and Carl worked on refactoring the parts of genc
that are responsible for the use of refcounting in the translation to make
it possible to compile with a different GC strategy. It turned out that
refcounting is kind of deeply embedded into genc so it took a lot
of time to introduce sensible hooks that other GCs could use.
- Armin and Richard changed genc so that it can handle
locks as external objects that Armin had to introduce to
implement threading in PyPy. For now we have a simple GIL but it is not
deeply implanted in the interpreter so we should be able to
change that later. After two days of hacking they were finished
although some more translation related issues popped up and
were fixed.
- Holger continously prepared the release infrastructure and refactored
the website and documentation to allow it to be presented
by version in the future. For the next time, we will nevertheless
continue to use only "dist" as we don't expect interesting
or neccessaries branches/splits of documentation or website
content.
- Anders L. and Jacob worked on compliancy worked on compliancy:
they fixed some failing tests related to unicode and codecs
and binascii.
- Initially Ludovic and Nik worked on making more parts of our
compiler RPython and Ludovic continued this effort on "astcompiler"
for some days before he focused on fixing compiler compliancy
bugs along with Holger and Samuele and a host of others
who had fun with CPython's somewhat non-compliant compiler
package.
- Laura continued working on a docstring exctraction tool
and cared for getting docstrings into PyPy builtin
type objects.
- Niklaus Heidimann moved his _sre implementation
*incrementally* to interpreter level and succeeded
to have it fully running and translateable for the
release!
- Richard Emslie and Eric van Riet Paap continously worked
on improving and fixing LLVM. They succeeded in reusing
genc's external function implementations but had to setup
a build indirection via codespeak: to compile llvm-files
source code is sent to a CGI on codespeak and the result
is sent back to the client. This makes it easier for
people who don't have a CVS version of LLVM installed.
They discovered and communicated with llvm-dev about
LLVM bugs. In the end they managed they managed to
have a full LLVM backend documented and running for
the 0.7.0 release!
- Christian worked on implementing various external functions
and hacked a "fakecompiler" compilation with the translated
pypy-c that delegates bytecode compilation to a python
process. The idea was to have running of tests on the
translated PyPy work. Christian also worked on fixing
the build process for win32.
- Many of us worked on the break day (which just was too rainy)
and increased test compliancy by 10%, fixing and tackling
numerous issues. Anders C. was one of the person who
continously worked on classifying and fixing core tests.
holger with help from Niklaus fixed a couple of conftest
compliancy-testing related bugs.
- Ludovic and Holger refactored the compiler and parser option
handling and added a README.compiling to make things slightly
less obscure.
- Armin, Samuele and others refactored the translation entry
points and also made the pypy-c/pypy-llvm entry points nicer
(adding --info and --version options). Samuele also unified
the way we specify which app/mixed modules should be used.
- Carl Friedrich and Holger updated a lot of documentation and
release issues, worked on getting-started, wrote the release
announcement, the LICENSE files and checked that examples still
work and make sense.
- Carl also quickly implemented the 'errno' mixed module.
- Bea worked on coordination and management issues
and wrote a document describing our sprint development
process. She also worked on a "dissemination plan"
and talked to various interested parties regarding
their plans for the future. She also convened with
Jacob and Stephan on monday to talk about management
responsibilities in the near future. There now is the
"3rd amendment" to the EU contract scheduled for
7th September.
- Holger and Bea listed the steps required for getting
Michael Hudson on the project through the University
of Bristol. Later on the management team met
and evaluated the results of the EU-workshop organized
by Changemaker in Goteborg.
On sunday afternoon (basically the last day where mostly
everbody was there) we had a kind of sprint-conclusion
and what to do next meeting, originally planned as
the technical board meeting. There we talked about
the next areas for cleanup (partly listed in this
`pypy-dev mail`_).
.. _`13 people registered`: http://codespeak.net/pypy/extradoc/sprintinfo/heidelberg-people.html
.. _`announced`: http://codespeak.net/pypy/extradoc/sprintinfo/Heidelberg-sprint.html
.. _`0.7.0 release out`: http://codespeak.net/pipermail/pypy-dev/2005q3/002294.html
.. _`pypy-dev mail`: http://codespeak.net/pipermail/pypy-dev/2005q3/002301.html