Source

extradoc / sprintinfo / paris-2005-possible-tasks.txt


RTyper tasks
-------------

- fixed size lists
- poor-man type erasure for rlist and rdict

- rtyping of classes/instances/methods for target languages with direct/prevalent OO/class support:
  devise a low-level model variation for this case

Annotator related tasks
------------------------

- support the notion of separate/external functions (and classes/PBCs)
  in preparation for separate compilations

JIT related work
-----------------
- (DONE) support addresses in the backends
- an ll interpreter written in RPython
- Saving ll graphs plus a loader written in RPython

- Start thinking/experimenting with JIT generation at translation time

- (DONE the starting) start a genasm back-end

Threading/concurrency
----------------------

- release the GIL around system calls
- understand and possibly fix where the overhead, when threads are enabled, comes from

- (DONE) generating (single-threaded) stackless C code

Implementation/translation
---------------------------

- (somewhat DONE) stack overflow detection (needed to be able to run many compliancy tests)
- try more interp. level optimisations (dicts with string keys, more agressive use of fastcall*...)

- compute correct max stack size in compiler (?)
- cleanup our multiple compiler situation: remove
  testcompiler, fix the tests to work on CPython 2.3 too,
  decide what to put in lib-python/modified-2.4.1/compiler --
  stablecompiler or astcompiler? -- and submit it back to
  CPython.  Clean up pyparser/pythonutil.py.

- (socket module, PEP302)

GC related tasks
-----------------

- look into implementing weakrefs
- Boehm: fix the x=range(10**7) issue
- (improve refcounting)
- (passes toward integrating other GCs, rpython/memory)


Refactorings/cleanups
----------------------

- cbuild/translator.Translator (use SCons?, use/generalize TranslationDriver)
- PyPy option handling unification, passing py.py options to targetpypy*
- inline (transforms in general) 

- (DONE) genc: producing multiple .h/.c files tracking Python code origin

Larger whole projects
----------------------

- Javascript frontend
- support for developing C extensions for CPython with RPython code
- writing a sort of flow object space for the llinterpreter
  to experiment with JIT work