Source

extradoc / sprintinfo / heidelberg-planning.txt

PyPy Heidelberg sprint planning (22th-29st August) 
-----------------------------------------------------

Armin Rigo         rel 
Samuele Pedroni    rel 
Carl Friedrich Bolz  rel/GC
Niklaus Haldimann [work on _sre]
Holger Krekel   rel 
Richard Emslie  llvm/rel
Eric van Riet Paap [llvm/rel]
Jacob Hallen    [manage]   
Laura Creighton  [rel] 
Ludovic Aubry    [rel] 
Anders Chrigstroem [rel]
Christian Tismer  [rel]
Anders Lehmann  [rel]
Beatrice Duering [rel/sprint-driven dev]

Rough Week planning::
    each day: 10 AM - 7 PM (lunch break at ~1-3pm)

    monday 22nd sprinting
    tuesday 23rd sprinting 
    wednesday 24th sprinting

    thursday 25th break day!

    friday 26th sprinting / release 
    saturday 27th sprinting 
    sunday 28th sprinting / technical summary/some future planning
    monday 29th sprinting/eu-meeting/cleanup

Release (PyPy-0.7)::

  - fix download locations, prepare/try out packaging 
  - RELEASE CUTTING 
    - copy pypy/dist to pypy/release/0.7.x 
      and work on 0.7.x regarding remaining release issues 

      documentation/all release-issues from the tracker  
      are worked on in the release-branch, including documentation 

    - which documentation should be served on the web
      page?   Probably just serving dist would fit for now. 

  - NOTE: the translated pypy versions should be named:

            pypy-c [--info --version] richards.py 
            pypy-c-boehm 
            pypy-llvm 

    the version should be 0.7.0 

  - to be done: entry-point commandline option parsing/repr-of-info 

Translation

  - Finish GIL-based threading: backend support, fix bugs?
   
    seems to work: but still needs checks if it translates and 
    then runs successfully (possibly lurking segfaults).  

  - Isolate refcounting in genc, and
    have an option to enable and use Boehm instead

    DONE: you can use boehm with a translation of PyPy 
    interpreting richards.py. (translate_pypy.py -boehm) 

2.4.1 Compliance::

  - Recategorize the tests in core/non-core ( = language compliancy)
    41 current-core tests should not be in core, 
    11 current-non-core tests should be in core 
     5 are about threading (should be core?)
  - test_unicode, test_codecs
    test_unicode has one remaining error involving 
    eval(unicode) which means that compile(unicode) does not work
    currently. (see issue in the tracker, ludovic will try to look
    into this briefly) 

  - Fix/adjust/prioritize compliance test problems
    done: fixed binascii problems. 

  - (tismer) mostly done: speeding up compilation on the 
    translated pypy version by doing an external cpython-invocation 
    to produce the code object. 
    one can use an external python invocation to compile 
    from an AST to code objects to speed up compilation 
    for the translated PyPy. pypy/fakecompiler should be moved 
    to pypy/lib/_fakecompiler 

  - Some other "non-core" tests revealing real bugs/problems?

  - DONE SO FAR: from wednesday morning on most of us should work 
    on compliancy related issues (mostly everybody)

  - (holger) try to fix the problem that you have to be in 
    2.4.1/test in order to successfully run tests 

  - NOTE: pypy-dist/lib-python/failure_list.txt 
    contains ongoing anaylsis/Status for compliancy tests!

Compiler/Parser::

  - Fix bugs, missing features (some cause compliance regressions) 
  - Work on making the compiler interp-level 
      st->ast mostly done, should go into the release (ludal, nik)
        integrated with a runtime option
        need to fix astcompiler 
      ast->bytecode may be done for the release? in-progress

  - compiling unicode strings (see failing test_builtins)
    https://codespeak.net/issue/pypy-dev/issue97 

  - interactive mode parsing (issue115 -- use "single" instead of "exec"?
      look at code.py from lib-python/2.4.1/)
      high priority: why is "from __future__" not working? (flag missing?)
      inputs that are a single string are considered docstrings
      (also single unicode strings are considered docstrings)

    no progress on the bugs

Built-in modules::

  - Do we still miss important os.* functionality?
  - FIXED: errno (easy for now)
  - Enable our own array/_sre when translating 
    applevel _sre should be put into pypy/lib/
    (mixed re-module is well in progress towards becoming
    translateable) 
  - mostly done: 'math' must be finished (math.log(<long object>))
    left: enable by default. 

Fix/garden issues for the release in the tracker::

  - Go over the issues in the tracker: close, postpone or fix them as needed
    for the release
  - Review Hildes_to_Heidel.txt contents too

LLVM backend (richard, eric)::

  - done (see next point) Improvement work to stabilize and match genc

  - somewhat done: Try to share code with genc (c-code resused by)

  - status: external function implementations are reused from gen-c 
    by using the llvm-c-frontend.  The latter is installed on codespeak 
    and can be run remotely from a client. (the underlying problem 
    is that the llvm-c frontend is hard to install). 

 
GC (carl friedrich, samuele)::
 
  - Complete SoC GC framework (cfbolz)
    in-progress: two more nights or so. 

  - (Start to think how/what is still missing to leverage it for Phase 2) 
  - (related: isolating refcounting)

Cleanups

  - We didn't really manage to tackle the cleanups listed in Hildes_to_Heidel.txt;
    do we want, have we the time to address some of them during the sprint for the release

Future Planning

  - Plan work until next sprint 
  - Consider priorities up to review
  - Start thinking about organizing Phase2 work, baseline status wrt this 
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.