extradoc / sprintinfo / post-ep2006 / planning.txt

Planning Europython Sprint

Samuele: General wizardry

* The extension module compiler.  Using it for implementing 
  extension modules both for PyPy and CPython from the same
  source code.

  FINISHED: a cache implementation, a bug was found in the extcompiler
  FINISHED modulo bugs and getting it to translate: the time module

* work and experiment with our relased 0.9 stackless features 

* work on high level backends: .NET: ootyping works, lots of stuff left in gencli
  - fix ootype system bugs  (FINISHED)

* polishing the Javascript backend, docs, ... 

* improving error messages: maciek, samuele: DONE

* optimization of core Python data types, making full 
  use of PyPy's flexible architecture and python-implemented 
  (and then translated) type system. 

  - having a string implementation for concatenation, slicing, 

  - an implementation of long using C's long long: annoying

  - specialized dictionary implementations: DONE, modulo translation
    a branch was made (maciek, xoraxax)

* optimizations of aspects of the interpreter

* You may even dare to dive into ongoing work on the JIT compiler

* experimenting with novel security systems for Python,
  enabled by PyPy 

* packaging and configuration (guido, cfbolz around)

* fixing translation on 64 bit platforms , PROBABLY WORKS

* logic object space, stackless
  - possible but annoying: find out why clone does not work
    (one bug found), SLOW PROGRESS

* make stackless code smaller by introducing helper functions

* AST modifications support (PRETTY MUCH DONE)
  and peephole optimizer (simple constant folder DONE, off by default)

* try to attach weights to blocks that order blocks in the C code or even give
  hints to GCC stack the resume code is rarely executed

* profile based optimization should be integrated with and maybe
  even with GCC

* experiment with the LLVM JIT code generator

* preliminary doctest support: DONE

* making pypy compilable with a c++ compiler: MOSTLY DONE

* exposing an ll array type (simon, arre around) PROGRESS

* working on wrapping the random module (pieter, misto) MOSTLY DONE