[pypy-svn] r3820 - pypy/trunk/doc/funding

hpk at codespeak.net hpk at codespeak.net
Tue Apr 6 13:57:10 CEST 2004


Author: hpk
Date: Tue Apr  6 13:57:09 2004
New Revision: 3820

Added:
   pypy/trunk/doc/funding/changelog-fulldiff-wp.txt
Log:
added the sorted fulldiff of all B6.7.wp*.txt files (diffed to the the first proposal version) 



Added: pypy/trunk/doc/funding/changelog-fulldiff-wp.txt
==============================================================================
--- (empty file)
+++ pypy/trunk/doc/funding/changelog-fulldiff-wp.txt	Tue Apr  6 13:57:09 2004
@@ -0,0 +1,1237 @@
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp01_management.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp01_management.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp01_management.txt	(working copy)
+@@ -4,11 +4,11 @@
+ .. |wp|    replace:: WP01
+ .. |start| replace:: 0
+ .. |p1|    replace:: CM
+-.. |m1|    replace:: 8
++.. |m1|    replace:: 4
+ .. |p2|    replace:: DFKI
+-.. |m2|    replace:: 8
++.. |m2|    replace:: 4
+ .. |p3|    replace:: STRAKT
+-.. |m3|    replace:: 8
++.. |m3|    replace:: 4
+ .. |p4|    replace:: |e|
+ .. |m4|    replace:: |e|
+ .. |p5|    replace:: |e|
+@@ -31,7 +31,7 @@
+ 
+ - collection and monitoring of monthly status reports,
+ - reporting to the EU project office
+-- organising meetings and sprints
++- organising project meetings and sprints
+ - maintaining contents and structure of the project web site. 
+   The website will make heavy
+   use of collaborative tools like Wiki pages, a content management system,
+@@ -42,14 +42,19 @@
+ 
+ **Deliverables**
+ 
+-- D01.1 Collection and monitoring of reports
+-- D01.2 Report to EU
+-- D01.3 Organise meetings
+-- D01.4 Create and maintain internal web site
++- D01.1 Create QA plan for the project
++- D01.2 Collection and monitoring of reports (monthly, sprints, review workshop, evaluation)
++- D01.3 Report to EU 
++- D01.4 Organise project meetings 
++- D01.5 Organize sprints
++- D01.6 Create and maintain internal web site 
++- D01.7 Create and maintain newsletter covering ongoing project process for external stakeholders
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
++A succesful and measurable delivery of every workpackage within the project scope.
++
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp02_maintenance.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp02_maintenance.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp02_maintenance.txt	(working copy)
+@@ -1,10 +1,10 @@
+ .. include:: crossreferences.asc
+ 
+-.. |title| replace:: Infrastructure and tools
++.. |title| replace:: Infrastructure and Tools
+ .. |wp|    replace:: WP02
+ .. |start| replace:: 0
+-.. |p1|    replace:: PBF
+-.. |m1|    replace:: 12
++.. |p1|    replace:: Krekel
++.. |m1|    replace:: 8
+ .. |p2|    replace:: |e|
+ .. |m2|    replace:: |e|
+ .. |p3|    replace:: |e|
+@@ -22,21 +22,26 @@
+ 
+ **Objectives**
+ 
+-Supporting the PyPy project by producing and enhancing the tools. 
++Supporting the PyPy project by producing and enhancing the tools for version
++control of source code, communication, dissemination and distribution of information. 
++Collaborate with community to implement a powerful development environment 
++for the various needs of the PyPy STREP. 
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Description of work**
+ 
+-Support the development process with reusing existing or developing
+-new debugging opensource tools.  
++Support the development process with reusing and furthering 
++existing or developing new debugging opensource tools.  
+ 
+ - maintain the Subversion repository including notification
+   hooks and pre/post-commit restrictions.
+ 
+-- provide access over http/https and ssh server 
++- provide access over http/https and ssh to the repository. 
+ 
++- setup support for releasing different versions of PyPy 
++
+ - build extensions for automatic document extraction
+ 
+ - maintain/setup mailing lists 
+@@ -47,7 +52,7 @@
+ 
+ - maintain and enhance website infrastructure 
+ 
+-- perform backups for all relevant information/code
++- perform backups for all relevant information and sourcecode
+ 
+ - setup a mirror repository which is kept up-to-date and which
+   can be used readonly in case of failure of the main repository.
+@@ -55,6 +60,9 @@
+ - Take care of regular repository backups. Design a strict backup
+   policy suitable for the project, and adhere to it.
+ 
++- setup and maintain mailing lists for development, consortium
++  and community communication. 
++ 
+ - help with automated testing 
+ 
+ .. include:: wp-tableend.asc
+@@ -64,12 +72,14 @@
+ 
+ - D02.1 configuring, installation of all development tools (subversion, apache2, mailman, backup, roundup, ...)
+ 
+-- D02.2 http-server to present runtime/introspection information aiding debugging and understanding of PyPy internals
++- D02.2 introduce and document a release scheme for PyPy versions 
+ 
+-- D02.3 several website revisions
++- D02.3 http-server to present runtime/introspection information aiding debugging and understanding of PyPy internals
+ 
+-- D02.4 automated (unit-)testing framework with html/pdf reports 
++- D02.4 several website revisions
+ 
++- D02.5 release automated (unit-)testing framework with html/pdf reports
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp03_synchronisation.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp03_synchronisation.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp03_synchronisation.txt	(working copy)
+@@ -4,9 +4,9 @@
+ .. |wp|    replace:: WP03
+ .. |start| replace:: 0
+ .. |p1|    replace:: USH
+-.. |m1|    replace:: 12
+-.. |p2|    replace:: |e|
+-.. |m2|    replace:: |e|
++.. |m1|    replace:: 3
++.. |p2|    replace:: Tismer
++.. |m2|    replace:: 6
+ .. |p3|    replace:: |e|
+ .. |m3|    replace:: |e|
+ .. |p4|    replace:: |e|
+@@ -48,7 +48,8 @@
+ existing C extensions.
+ Support a subset of the CPython API. Facilitate porting of
+ more involved extensions.
+-Adjust existing interface generators to target PyPy.
++Investigate adjusting existing interface generators (in particular SWIG, used e.g
++by wxPython, subversion bindings and other popular extensions)  to target PyPy. 
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+@@ -56,11 +57,15 @@
+ **Deliverables**
+ 
+ - D03.1 A version of PyPy that supports a subset of the CPython API
+-- D03.2 A guide describing the porting of C extensions to PyPy
++- D03.2 A report on the feasibility of supporting full C-extensions compatibility
++- D03.3 A guide describing the porting of C extensions to PyPy
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
++PyPy is kept in sync with potential changes to Standard Python throughout
++the duration of the project.
++
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp04_core.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp04_core.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp04_core.txt	(working copy)
+@@ -3,16 +3,16 @@
+ .. |title| replace:: The PyPy Core
+ .. |wp|    replace:: WP04
+ .. |start| replace:: 0
+-.. |p1|    replace:: PBF
+-.. |m1|    replace:: 18
+-.. |p2|    replace:: MPI
+-.. |m2|    replace:: 9
++.. |p1|    replace:: Strakt
++.. |m1|    replace:: 6
++.. |p2|    replace:: Tismer
++.. |m2|    replace:: 4
+ .. |p3|    replace:: DFKI
+-.. |m3|    replace:: 2
++.. |m3|    replace:: 4
+ .. |p4|    replace:: Logilab
+-.. |m4|    replace:: 4
+-.. |p5|    replace:: |e|
+-.. |m5|    replace:: |e|
++.. |m4|    replace:: 5
++.. |p5|    replace:: Krekel
++.. |m5|    replace:: 3
+ .. |p6|    replace:: |e|
+ .. |m6|    replace:: |e|
+ 
+@@ -33,23 +33,60 @@
+ 
+ **Task 1**
+ 
+-Design and implement the PyPy bytecode interpreter and
+-build an object space library in RPython.
+-The resulting interpreter must cover the complete Python
+-language specification.
++Implement an interpreter that is able to accept the complete
++Python language specification, built according to the general
++modularity goals described in the body of the text.
++This task specifically includes research and implementation
++work leading to:
+ 
++- the Object Space interface.
++
++- a bytecode interpreter, accepting the standard CPython
++  bytecode format.
++
++- a "standard" object space implementing the core Python
++  objects' normal semantics.
++
++This task excludes the standard extension modules and the
++parser and bytecode compiler, which for the purpose of
++testing are borrowed from the underlying CPython interpreter
++on top of which our interpreter runs.
++
+ **Task 2**
+ 
+-Port the built-in Python library to PyPy
+-(functions, types and modules currently implemented in C).
+-Decide on a case-by-case basis which features are to
+-be implemented using RPython or just general Python.
++Port the standard Python "builtin" library:
+ 
++- types (there are some 100 of them);
++
++- built-in functions;
++
++- built-in modules;
++
++- other built-in objects, e.g. exception classes.
++
++Research and decide on a case-by-case basis how to implement
++each one within PyPy in a simple and efficient way.  The common
++options are to either re-implement them inside the interpreter
++where appropriate, or to provide a pure Python replacement
++(which in some cases already exists and can be borrowed).
++
+ **Task 3**
+ 
+-Implement a Python parser and bytecode compiler in
+-Python.
++Complete the interpreter with a Python source parser and bytecode
++compiler.
+ 
++- Implement a Python parser and bytecode compiler in Python by
++  leveraging existing research and implementation work.
++
++- Design a flexible way to insert the compiler into the
++  code base, easing future experimentation with the syntax.
++
++- More generally, research and provide bridges between the interpreter
++  source and the code it interprets, allowing the interpreter to delegate
++  some of its "core" work to regular, interpreted, pure Python code.
++  Decide when it is appropriate to make this regular code visible to
++  language users (e.g. as modules, modifiable at run-time).
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+@@ -57,13 +94,25 @@
+ 
+ - D04.1 First partial Python Implementation running on top of CPython
+ - D04.2 Complete Python implementation running on top of CPython
++- D04.3 Report about the parser and bytecode compiler implementation
++- D04.4 Release PyPy as a research tool for experimental language
++  enhancements
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-- M1 A partial Python implementation that passses 75% of the official
+-  Python test suite that don't depend on extension modules.
++- A partial Python implementation that passes 90% of the official
++  Python test suite for core language features, i.e. not depending on
++  library-level C extension modules (the C part of the "standard
++  library").
+ 
++- Providing a substitute for the many existing C modules will be an
++  ongoing effort neccessarily involving the wider python communities.
++  By the end of Phases 2 and 3 of the project we expect to have the most
++  commonly used modules reimplemented in a flexible framework or - if
++  technically not feasible - matched with equivalent functionality in
++  PyPy.
++
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp05_translation.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp05_translation.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp05_translation.txt	(working copy)
+@@ -4,15 +4,15 @@
+ .. |wp|    replace:: WP05
+ .. |start| replace:: 0
+ .. |p1|    replace:: STRAKT
+-.. |m1|    replace:: 18
+-.. |p2|    replace:: MPI
+-.. |m2|    replace:: 9
++.. |m1|    replace:: 15
++.. |p2|    replace:: DFKI
++.. |m2|    replace:: 2
+ .. |p3|    replace:: USH
+-.. |m3|    replace:: 9
+-.. |p4|    replace:: PBF
+-.. |m4|    replace:: 3
+-.. |p5|    replace:: |e|
+-.. |m5|    replace:: |e|
++.. |m3|    replace:: 8
++.. |p4|    replace:: Tismer
++.. |m4|    replace:: 2
++.. |p5|    replace:: Krekel
++.. |m5|    replace:: 1
+ .. |p6|    replace:: |e|
+ .. |m6|    replace:: |e|
+ 
+@@ -34,43 +34,79 @@
+ 
+ **Task 1**
+ 
+-Create a code analysis tool for a subset of the Python
+-language (RPython). Coordinate the definition of RPython
+-with WP04_, being the implementation language of the core.
++At the core of this task lies the research and
++implementation of full "abstract interpretation" by reusing 
++the unmodified PyPy interpreter with a special object space. 
+ 
++- Create a code analysis tool for a subset of the Python
++  language (RPython). 
++
++- Coordinate the definition of RPython with WP04_, being the
++  implementation language for most of the core. 
++
++- Experiment with different ways of doing Abstract Interpretation.
++  Look for an Abstract Domain suitable for type inference.
++  Compare with published algorithms for type inference.
++  Select and implement the most appropriate solution in our
++  context.
++
+ **Task 2**
+ 
+ Produce a tool chain, capable of extracting the RPython
+-byte code from the core, translating it into low-level
+-code (C, ...), and compiling it.
+-Use the data gathered in Task 1 to drive the translation
+-process.
++bytecode from the core, translating it into low-level
++code (with C being the primary target) and compiling it.
+ 
++- Create a build process for statically generating and running 
++  a low-level PyPy interpreter and object space. 
++
++- Provide hooks into internals to alter translation aspects. 
++
++- Research/experiment with a Java backend. 
++
+ **Task 3**
+ 
+ In order to give a working environment to the translated RPython
+ program, build the low-level-specific runtime components of PyPy.
+ For the C PyPy runtime, important parts can be directly re-used from CPython.
++However, certain aspects such as memory management and threading models
++are to be implemented in a modular way. 
+ 
++- Implement a minimal C-runtime for the translated PyPy 
++
++- Integrate Memory Management, threadings models, and other aspects in a
++  modular way into both the C-runtime and the statically generated PyPy low
++  level code.
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Deliverables**
+ 
+-- D05.1 Tool chain for translating and compiling arbitrary RPython programs
+-- D05.2 A compiled, self-contained version of PyPy
++- D05.1 Publish a report about translating a very-high-level description 
++  of a language into low level code by building on "abstract interpretation" and
++  PyPy's separation of the interpreter and the object space in particular. 
++- D05.2 Release a compiled, self-contained modular static version of PyPy. 
++- D05.3 Publish solutions and open challenges regarding the implementation of 
++  memory management/threading models as translation aspects. 
++- D05.4 Publish an overview paper about the success of encapsulating low level 
++  language aspects as well defined parts of the translation phase. 
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-- Complete implementation of Python, conforming to the language
+-  definition and passing all relevant[*]_ tests of the official Python test suite.
++- M1 Complete implementation of the Python language, conforming to the
++  language definition and passing all language compliancy [*]_ tests of
++  the official Python test suite.
+ 
+-.. [*] CPython contains some tests that depend on implementation
+-   details. The exact line between a language feature and an implementation detail
+-   might at times be hard to draw precisely, but in all cases this only concerns a
+-   minorily of the tests (less than 10%).
++- Research Results on encapsulating low level language aspects as parts
++  of a translation from very-high-level into low-level code. 
+ 
++.. [*] Some of the the many hundred CPython language tests actually test
++   implementation details like e.g. memory management. The exact line
++   between a language feature and an implementation detail is at times
++   hard to draw.  In case of doubt the original CPython developers will
++   be consulted for clarification. 
++
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp06_core_optimisations.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp06_core_optimisations.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp06_core_optimisations.txt	(working copy)
+@@ -1,12 +1,12 @@
+ .. include:: crossreferences.asc
+ 
+-.. |title| replace:: Core Optimizations
++.. |title| replace:: Core Optimisations
+ .. |wp|    replace:: WP06
+ .. |start| replace:: 9
+ .. |p1|    replace:: USH
+-.. |m1|    replace:: 15
+-.. |p2|    replace:: MPI
+-.. |m2|    replace:: 9
++.. |m1|    replace:: 12
++.. |p2|    replace:: |e|
++.. |m2|    replace:: |e|
+ .. |p3|    replace:: |e|
+ .. |m3|    replace:: |e|
+ .. |p4|    replace:: |e|
+@@ -35,8 +35,13 @@
+ 
+ Provide alternative implementations of the core objects,
+ such as dictionaries, strings and integers, with different
+-trade-offs (speed, size, limitations).
++trade-offs (speed, size, limitations).  Collect existing
++techniques from the literature and research new ones.
+ 
++Identify other performance-critical parts of the PyPy source
++and provide alternative implementations (new or from the
++literature).
++
+ **Task 2**
+ 
+ Run performance tests on the above, comparing the different
+@@ -47,9 +52,10 @@
+ 
+ **Task 3**
+   
+-Merge the results back into the optimization effort.
++Merge the results back into the optimisation effort.
+ Where necessary, define heuristics to select implementations
+ and to switch between them, depending on evolving runtime conditions.
++Collect existing heuristics from the literature and research new ones.
+ Report on the results and submit as publications.
+ 
+ .. include:: wp-tableend.asc
+@@ -57,14 +63,17 @@
+ 
+ **Deliverables**
+ 
+-- D06.1 Publication of statistics
+-- D06.2 Publication of novel heuristic techniques
++- D06.1 Integrate the first core optimisation results into the PyPy core
++  at the end of phase 2
++- D06.2 Publication and analysis of performance statistics for different
++  implementations of core objects 
++- D06.3 Publication of novel heuristic techniques
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-- Better performance for all non-trivial executed programs
++- Measurably better performance for non-trivial programs. 
+ 
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp07_translator_optimisations.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp07_translator_optimisations.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp07_translator_optimisations.txt	(working copy)
+@@ -1,14 +1,14 @@
+ .. include:: crossreferences.asc
+ 
+-.. |title| replace:: Translator Optimizations
++.. |title| replace:: Translator Optimisations
+ .. |wp|    replace:: WP07
+ .. |start| replace:: 9
+-.. |p1|    replace:: PBF
+-.. |m1|    replace:: 22
+-.. |p2|    replace:: |e|
+-.. |m2|    replace:: |e|
+-.. |p3|    replace:: |e|
+-.. |m3|    replace:: |e|
++.. |p1|    replace:: Tismer
++.. |m1|    replace:: 9
++.. |p2|    replace:: Krekel
++.. |m2|    replace:: 4
++.. |p3|    replace:: USH
++.. |m3|    replace:: 3
+ .. |p4|    replace:: |e|
+ .. |m4|    replace:: |e|
+ .. |p5|    replace:: |e|
+@@ -25,7 +25,7 @@
+ Identification and Implementation of Optimisations
+ through modifications of the Translator.
+ Enable Massive Parallelism in a Single Thread.
+-Provide support for real-time parallelism.
++Provide support for soft-real-time parallelism.
+ Allow Pickling of a Running Program.
+ 
+ .. include:: wp-tableend.asc
+@@ -35,37 +35,58 @@
+ 
+ **Task 1**
+ 
+-Enhance the translator to support continuation passing
+-style by integrating technology from the Stackless project.
+-Implement the necessary runtime system to support
+-massive parallelism.
+-Implement a single-threaded, pre-emptive scheduler with
+-priorities, complementing the OS threads.
++Implement memory-efficient massive parallelism complementing
++the threads based on C stack switching provided by OSes or
++semi-OS-independent libraries.
+ 
++- Enhance the translator to support continuation passing
++  style by integrating technology from the Stackless project.
++
++- Implement the necessary runtime system to support
++  massive parallelism Minimize the resource footprint of
++  each "microthread".
++
++- To complement explicit (application-defined) scheduling,
++  implement a pre-emptive scheduler at the bytecode level,
++  with priorities, distributing "microthreads" to one or a
++  small number of OS threads.
++
++- Implement pickling a running program or a selected microthread
++  (i.e. serializing continuations).
++
+ **Task 2**
+ 
+-Study approaches concerning code size vs. speed trade-offs.
+-Implement and compare different object layout and memory management strategy 
+-or strategies.
+-Enhance multimethod dispatching.
+-Implement schemes of pointer tagging.
+-Create reports and merge the results back into the optimization effort.
+-As of general interest, submit the reports as publication.
++Use PyPy as a research tool for general optimisations.
+ 
++- Study approaches concerning code size vs. speed trade-offs.
++
++- Implement and compare different object layout and memory management
++  strategies. Implement schemes of pointer tagging.
++
++- Enhance multimethod dispatching and other places where hand-crafted
++  optimisations can help the translator.
++
++- Create reports and merge the results back into the optimisation effort.
++  As of general interest, submit the reports as publication.
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Deliverables**
+ 
+-- D07.1 A version of PyPy that supports Real-time massive parallelism
+-- D07.2 Report on optimisation results submitted as publications
++- D07.1 Release a version of PyPy that supports automatic or explicitly
++  scheduled massive parallelism
++- D07.2 Publish optimisation results 
++- D07.3 Report about practical usages of massive parallelism and program pickling
++- D07.4 Report on approaches for memory management, object implementations
++  and other translator aspects for high performance PyPy
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-- M3 High performance PyPy, together with WP08_. Outperform the
++- M2 High performance PyPy, together with WP08_. Outperform the
+   state-of-the art (Psyco, Stackless).
+ 
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp08_dynamic_optimisation.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp08_dynamic_optimisation.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp08_dynamic_optimisation.txt	(working copy)
+@@ -1,14 +1,14 @@
+ .. include:: crossreferences.asc
+ 
+-.. |title| replace:: Dynamic Optimizations
++.. |title| replace:: Dynamic Optimisations
+ .. |wp|    replace:: WP08
+ .. |start| replace:: 9
+ .. |p1|    replace:: STRAKT
+-.. |m1|    replace:: 18
+-.. |p2|    replace:: MPI
+-.. |m2|    replace:: 9
+-.. |p3|    replace:: PBF
+-.. |m3|    replace:: 9
++.. |m1|    replace:: 17
++.. |p2|    replace:: Tismer
++.. |m2|    replace:: 2
++.. |p3|    replace:: USH
++.. |m3|    replace:: 6
+ .. |p4|    replace:: |e|
+ .. |m4|    replace:: |e|
+ .. |p5|    replace:: |e|
+@@ -34,34 +34,63 @@
+ 
+ **Task 1**
+ 
+-Apply and enhance techniques from the Psyco project.  Promote parts
+-of the static translator to be used for run-time specialization.
++Make a Just-In-Time compiler for the PyPy framework.
+ 
++- Apply and enhance techniques from the Psyco project.
++  Combine them with the static type inference techniques implemented
++  in WP05_.
++
++- Leverage the static translator to generate instrumenting and
++  self-specializing code for all the parts of the PyPy interpreter
++  and standard Object Space that support possibly time-critical
++  application code.
++
++- Implement the run-time management environment to support the JIT
++  compiler (in-memory machine code and supporting data structures,
++  profiling and statistics collection, etc).
++
+ **Task 2**
+ 
+-Design and implement a back-end component for dynamically emitting
+-machine code for multiple processor architectures.  Enable dynamic
+-foreign function calls.
++Make the JIT compiler flexible and portable.
+ 
++- Enable dynamic foreign function calls. Allow language users to
++  use them in their applications.
++
++- Design and implement a back-end component for dynamically emitting
++  machine code for multiple processor architectures.
++
++- Investigate and research a generic low-level virtual machine and
++  target it as a cross-platform back-end.
++
+ **Task 3**
+ 
+ Research optimisation heuristics for the Just-In-Time compiler.
+-Coordinate with WP06_.
+ 
++- Research by comparing existing and novel techniques for JIT
++  compilers heuristics, management issues, etc.
++
++- Coordinate with WP06_.
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Deliverables**
+ 
+-- D08.1 A processor back-end supporting Intel(tm) i386 and PowerPC
+-- D08.2 A Just-In-Time compiler for PyPy
++- D08.1 A processor back-end supporting Intel(tm) i386
++- D08.2 A processor back-end supporting PowerPC
++- D08.3 A portable low-level virtual machine and a corresponding processor back-end
++- D08.4 Release A Just-In-Time compiler for PyPy
++- D08.5 Publish a report about the new JIT architecture, its perfomance and how its
++  techniques can be applied to languages other than Python/PyPy
++- D08.6 Publish a research report comparing JIT techniques
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-- M3 High performance PyPy, together with WP07_. Outperform the
+-  state-of-the art (Psyco, Stackless).
++- M2 High performance PyPy, together with WP07_. Outperform the
++  state-of-the art (Psyco, Stackless).  Verify the expectation
++  of reaching half the speed of C for purely algorithmic code. 
+ 
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp09_search_and_logic.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp09_search_and_logic.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp09_search_and_logic.txt	(working copy)
+@@ -40,19 +40,35 @@
+ 
+ **Task 2**
+ 
+-This logic programming enabled Python interpreter will then be
+-used to further develop the projects related to Semantic Web
+-applications that are on-going at Logilab and DFKI.
++We will investigate alternative implementation techniques to improve the
++efficiency of the search component. These will build on ideas from
++constraint languages such as Oz/Mozart and, where appropriate, will take
++advantage of the new avenues for implementation opened up by the object
++space architecture.
+ 
++**Task 3**
++
++This logic programming enabled Python interpreter will then be used to
++support frameworks for Semantic Web applications that are on-going at
++Logilab and DFKI  and which are related to RDF-based approaches to
++knowledge representation.
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Deliverables**
+ 
+-- D09.1 Implementation of constraint satisfaction engine and inference engine in PyPy
++- D09.1 Initial implementation of constraint satisfaction engine and
++  inference engine based on Logilab's library.
+ 
+-- D09.2 Assessment of benefits obtained from using PyPy over current tools to further develop Semantic Web projects at Logilab and DFKI
++- D09.2 Improved implementation of constraint satisfaction engine and 
++  inference engine in PyPy. Benchhmarks will be provided, to measure
++  performance improvements.
+ 
++- D09.3 Assessment of benefits obtained from using PyPy over current tools
++  to further develop Semantic Web projects at Logilab and DFKI, accompanied
++  by appropriate code examples.
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp10_aspects_and_contracts.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp10_aspects_and_contracts.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp10_aspects_and_contracts.txt	(working copy)
+@@ -38,15 +38,47 @@
+ available from Logilab, to better integrate with the language
+ and greatly simplify the design and enhance the performance.
+ 
++Aspect-Oriented Programming is a technique that improves on
++Object-Oriented Programming by facilitating the division of
++concerns in the implementation of classes. Some behaviors
++may be made into aspects that are later weaved with the existing 
++implementation of classes for which one wants to add the aspect's 
++behavior. An example would be a Logger aspect weaved with a
++class to provide logging functionnality without the class
++having any knowledge of logging.
++
++Logilab already published an implementation of aspects for Python, 
++but it is limited by the language in the sense that weaving code consists 
++of wrapping methods instead of actually producing new code or
++modifying existing code. This adds overhead and other constraints
++that would be removed with a PyPy-based implementation. Once the
++equivalent of Logilab's aspect library will be implemented in PyPy,
++further progress will be made using articles and research tools from
++wwww.aosd.net, the aspect-oriented software development community and 
++research portal.
++
+ **Task 2**
+ 
+-This aspect enabled interpreter will be used to offer
+-design-by-contract facilities as seen in the Eiffel programming
+-language and the current aspect-oriented library. 
+-This will also allow us to implement advanced static
+-checking and code correctness checking capabilities, thus furthering
+-the work done with the pychecker and pylint tools.
++Implement design-by-contract using the aspect-enabled interpreter.
+ 
++Design-by-contract, as first exhibited by the Eiffel object-oriented
++programming language, can be implemented as a specific aspect as
++was done by Logilab in its aspect library. A PyPy-based implementation
++would allow for further experiments in terms of syntax improvements
++on the contract definition, but also better performance.
++
++**Task 3**
++
++Implement advanced static checking and code correctness checking capabilities, 
++thus furthering the work done with the pychecker and pylint tools.
++
++Static checking tools for Python already exist, but still have difficulties
++at the moment when it comes to type checking and inference. The implementation
++of static checking in PyPy will benefit from PyPy's runtime optimisation
++mechanism based for part on type inference, but also from articles describing
++the implementation of type checking and type inference for other languages
++and from existing implementations of pychecker and Logilab's pylint tools.
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+@@ -54,8 +86,10 @@
+ 
+ - D10.1 Implementation of aspect-oriented programming capabilities in PyPy
+ 
+-- D10.2 Implementation of design-by-contract and advanced static checking capabilities
++- D10.2 Implementation of design-by-contract in PyPy
+ 
++- D10.3 Implementation of advanced static checking capabilities
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp11_embed_in_hardware.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp11_embed_in_hardware.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp11_embed_in_hardware.txt	(working copy)
+@@ -4,7 +4,7 @@
+ .. |wp|    replace:: WP11
+ .. |start| replace:: 9
+ .. |p1|    replace:: Logilab
+-.. |m1|    replace:: 9
++.. |m1|    replace:: 5
+ .. |p2|    replace:: CM
+ .. |m2|    replace:: 1
+ .. |p3|    replace:: |e|
+@@ -22,17 +22,17 @@
+ 
+ **Objectives**
+ 
+-The capacity of this interpreter to be assembled from basic modules
+-will enable us to build a minimal custom version that suits embedded
+-systems. This embedded version will be validated on existing hardware.
+-
+-Axis Communications (http://www.axis.com/) of Lund, Sweden has
+-promised to provide suitable hardware for the validation. Axis is a
++Axis Communications (http://www.axis.com/) of Lund, Sweden have shown an interest in 
++how PyPy could be implemented on their hardware and have specifically asked for information
++regarding this part of the PyPy project (WP13).Axis is a
+ world leading company in printer servers and network video products.
+ Change Maker, who have an ongoing relation with the company will be an
+-interface between Axis and the Logilab developers who will make the
+-actual implementation.
++interface between Axis.
+ 
++The objective is to write a specific report targeting embedded software companies with the results from WP13_
++(usage of PyPy custom version and the build- and configuration tool).This report will showcase
++usage with Axis hardware as an example. 
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+@@ -40,29 +40,24 @@
+ 
+ **Task 1**
+ 
+-Coordinate with WP13 to build a minimal interpreter suitable for embedding
+-on devices with restricted resources.
++Write report to Axis showcasing usage of PyPy custom version.
++Report and analyse feedback from Axis regarding content of report.
++Communicate to Axis all reports and build tools developed in WP13_.
+ 
+-**Task 2**
+-
+-Choose hardware from Axis Communication.
+-Validate interpreter on existing hardware.
+-
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Deliverables**
+ 
+-- D11.1 Minimal interpreter suitable for embedded devices
++- D11.1 Written report to Axis Communication
++- D11.2 Documented feedback from Axis Communication
+ 
+-- D11.2 Evaluation report to Axis Communication on testresults of performance of minimal interpreter on Axis hardware
+-
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-- Prototype program running on embedded hardware.
+-- Accepted evaluation report from Axis Communication on evaluation results.
++- Dissemination and feedback on the PyPy custom version and the build- and configuration tool
++  from Axis Communication, a target stakeholder within the embedded sector.
+ 
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp12_validations.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp12_validations.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp12_validations.txt	(working copy)
+@@ -3,10 +3,10 @@
+ .. |title| replace:: Implement Security, Distribution and Persistence
+ .. |wp|    replace:: WP12
+ .. |start| replace:: 18
+-.. |p1|    replace:: PBF
+-.. |m1|    replace:: 12
+-.. |p2|    replace:: STRAKT
+-.. |m2|    replace:: 12
++.. |p1|    replace:: STRAKT
++.. |m1|    replace:: 10
++.. |p2|    replace:: USH
++.. |m2|    replace:: 3
+ .. |p3|    replace:: |e|
+ .. |m3|    replace:: |e|
+ .. |p4|    replace:: |e|
+@@ -22,8 +22,11 @@
+ 
+ **Objectives**
+ 
+-Research and validate the flexibility of PyPy by building key middleware
+-features into the language itself.
++Research and validate the flexibility and accessibility of PyPy by building
++experimental prototypes of key middleware features into the language itself,
++namely, security, remote execution, and orthogonal persistence.
++Publish reports outlining the novel future directions opened up by the PyPy
++architecture, building on the experimental support provided.
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+@@ -32,38 +35,52 @@
+ 
+ **Task 1**
+ 
+-Analyze and implement security models at the language level.  Implement
+-the "RExec" restricted execution model.  (It was removed from the official
+-Python implementation because it was too hard to maintain.)
++Build an experimental prototype on security by controlling the individual
++operations performed by a non-trusted program.
++Coordinate with WP14_ and consult with researchers from the IBM Zurich
++Research Lab in particular as to which level of control is needed.
++Report on the novel future directions.
+ 
+ **Task 2**
+ 
+-Analyze and implement distributed execution models at the language level.
+-Implement network-transparent execution of Python programs.  (Typical
+-libraries require programs to be aware of the remote execution model.)
++Build support for transparent remote proxying  at the language level.
++Look up existing libraries.  Typical libraries like the Zope Enterprise
++Objects (ZEO) or CORBA/Java RMI models require programs to be aware of
++the remote execution model; by contrast, experimentally build the support
++for an equivalent functionality directly into the language.
++Report on the novel future directions.
+ 
+ **Task 3**
+ 
+-Analyze and implement persistence at the language level.  Implement an
+-orthogonally persistent object space for Python programs.  (Persistence
+-is never fully orthogonal without advanced language support.)
++Build persistence at the language level by implementing an
++orthogonally persistent object space for Python programs.
++Look up existing libraries.  Persistence is never fully orthogonal without
++advanced language support, as witnessed by libraries like the Zope Database
++(ZODB); we will build an experimental object space that can provide full
++orthogonally.  Report on the novel future directions.
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Deliverables**
+ 
+-- D12.1 A PyPy version which supports secure restricted execution of arbitrary Python programs
++- D12.1 An experimental prototype supporting security through control of
++  individual operations at the language level.
+ 
+-- D12.2 A PyPy version which supports distributed execution of arbitrary Python programs
++- D12.2 An experimental prototype supporting transparent remote proxying
++  at the language level.
+ 
+-- D12.3 A PyPy version which supports persistent execution of arbitrary Python programs
++- D12.3 An experimental prototype supporting orthogonal persistence
++  at the language level.
+ 
++- D12.4 Publish a report outlining the novel future directions opened up by
++  the PyPy architecture in middleware features.
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-- M4 Validation of the flexibility of PyPy with respect to key middleware requirements
++- M3 Validation of the flexibility of PyPy with respect to key middleware requirements
+ 
+ .. include:: wp-tableend.asc
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp13_integration_config.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp13_integration_config.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp13_integration_config.txt	(working copy)
+@@ -3,12 +3,12 @@
+ .. |title| replace:: Integration and Configuration
+ .. |wp|    replace:: WP13
+ .. |start| replace:: 18
+-.. |p1|    replace:: MPI
+-.. |m1|    replace:: 12
+-.. |p2|    replace:: PBF
+-.. |m2|    replace:: 6
+-.. |p3|    replace:: |e|
+-.. |m3|    replace:: |e|
++.. |p1|    replace:: Krekel
++.. |m1|    replace:: 4
++.. |p2|    replace:: Logilab
++.. |m2|    replace:: 4
++.. |p3|    replace:: DFKI
++.. |m3|    replace:: 4
+ .. |p4|    replace:: |e|
+ .. |m4|    replace:: |e|
+ .. |p5|    replace:: |e|
+@@ -22,10 +22,9 @@
+ 
+ **Objectives**
+ 
+-Integrate research and the source code from wp06_, wp07_, wp08_, wp09_ and wp10_ into 
+-a consistent code base. Analyse and fix remaining problems. Develop tools that will 
+-allow to chose from available features and runtime restrictions to build 
+-a custom PyPy version. 
++Integrate research and the source code from wp06_, wp07_, wp08_, wp09_ and wp10_. 
++Analyse remaining problems. Develop tools that will allow to chose from available 
++features and runtime restrictions to build a custom PyPy version. 
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+@@ -35,30 +34,41 @@
+ **Task 1**
+ 
+ Analyse and integrate all results from the results of other workpackages. 
+-This involves identifying and resolving conflicts which could prevent
+-a combintation of desired optimization goals. 
+ 
++- Provide a consistent and combined code base for translation aspects,
++  the JIT-compiler and language extensions 
++
++- assert benefits and open problems regarding interaction between 
++  the different translation and language extension aspects. 
++
++- write a report about the combined PyPy code base. 
++
+ **Task 2**
+ 
+ Implement user interfaces to select features and runtime restrictions. 
+-Provide a way to automatically build a PyPy custom version for different
+-memory, performance and extension requirements. 
+ 
++- Provide a way to automatically build a PyPy custom version for different
++  memory, performance and extension requirements. 
++
++- Research and select defaults for environments with large and with
++  small amounts of system resources. 
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Deliverables**
+ 
+-- D13.1 A release of PyPy with all available optimization and runtime features 
++- D13.1 A release of PyPy with all available optimisation and runtime features 
+ - D13.2 A build- and configuration tool that allows to build custom PyPy versions suitable for specialized environments like small or very large computing devices
++- D13.3 A publication about the combined PyPy code base and its
++  customization possibilities. 
+ 
+-
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-- A stable release of PyPy enabling a wide range of users to
++- A stable release of PyPy enabling a wide range of language users to
+   experiment and develop using it as a flexible and highly-optimizable
+   Python implementation.
+ 
+
+Index: /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp14_documentation.txt
+===================================================================
+--- /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp14_documentation.txt	(revision 3000)
++++ /var/autofs/net/home/hpk/projects/pypy/doc/funding/B6.7.wp14_documentation.txt	(working copy)
+@@ -4,8 +4,8 @@
+ .. |wp|    replace:: WP14
+ .. |start| replace:: 0
+ .. |p1|    replace:: CM
+-.. |m1|    replace:: 12
+-.. |p2|    replace:: PBF
++.. |m1|    replace:: 11
++.. |p2|    replace:: Martelli
+ .. |m2|    replace:: 12
+ .. |p3|    replace:: |e|
+ .. |m3|    replace:: |e|
+@@ -22,10 +22,10 @@
+ 
+ **Objectives**
+ 
+-Providing ongoing documentation throughout the whole project.  
+-Supporting the dissemination process at all levels. Analyse and document 
+-"Sprint driven development" and the agile development methods of the project. 
+-Report to the Commission.
++Providing ongoing documentation throughout the whole project.
++Supporting the dissemination process at all levels. Analysis of "Sprint
++driven development" and the agile development methods of the project.
++Report to the Commission in collaboration with the PyPy consortium. 
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+@@ -34,41 +34,91 @@
+ 
+ **Task 1**
+ 
+-Support the dissemination process at all levels.  Make sure that 
+-all "sprints" are properly reported and archived for public access. 
+-In cooperation with all other participants, present a detailed joint report 
+-to the commission about agile methodologies employed by the project. 
++Support the dissemination process at all levels.  
+ 
++- Write, disseminate and archive reports about each development sprint and
++  produce newsletter
++
++- Gathering feedback from participants, present a detailed joint report 
++  about agile methodologies employed by the project. 
++
++- Ensure that all reports and publications that are being produced as part of 
++  workpackages 1-14 are effectively disseminated to 
++  python and non-python communities. 
++
+ **Task 2**
+ 
+-Provide longer, detailed reports to the commision and scientific committees 
+-advising the Commission on technical issues. 
++Provide longer, detailed reports to the commission and scientific committees 
++advising the Commission on technical and agile development issues. 
+ 
+ **Task 3**
+ 
+ When the advancement of the project warrants it, publish "popularization" 
+ articles and tutorial materials to help other practitioners of software 
+-development to make practical use of the project's results. Diagrams and 
+-schematics will be provided to illustrate fundamental concepts, as appropriate 
+-to the audience and the subject matter.
++development to make practical use of the project's results. 
+ 
++- Diagrams and schematics will be provided to illustrate fundamental
++  concepts, as appropriate to the audience and the subject matter.
++
++- Tutorials will be published on the web site and disseminated to 
++  various communities
++
++- Utilizing tools from WP02_ a guide through the source code of PyPy 
++  will be provided. 
++
++**Task 4**
++
++Prepare and organize workshops with special interested groups at all
++levels (the PyPy interpreter, the build toolchain to create custom
++interpreters, third-party language extensions or alternate languages,
++and theoretical aspects).  Take part in conferences.
++Interact with various python and non-python communities. 
++
++- For example, Reseachers at the IBM Zurich Resarch lab have shown
++  interest in our work and volunteered to discuss and peer-review our
++  published results.  We plan to present our security findings during a
++  joint workshop and solicit non-confidential input from the research
++  group on Identity Management and Privacy (Dr. Matthias Schunter).
++
++- Generally reach out to companies and research groups inside and
++  outside the python community by organizing workshops to disseminate
++  project results and gather feedback with respect to our novel language
++  architecture. 2 specific workshops will be arranged in this manner 
++  (during phase 1 and at the end of phase 3).
++
++- organize Workshops during the course of the PyPy STREP to allow for
++  adaptation of detail planning on specific feedback issues from
++  specific target groups (industrial companies, game developing
++  companies and SME:s).
++
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Deliverables**
+ 
+ - D14.1 Report about Milestone/Phase 1
+-- D14.2 Report about Milestone/Phase 2
+-- D14.3 Report about Milestone/Phase 3
+-- D14.4 Documentation of the development process and "Sprint driven development" in particular
++- D14.2 Tutorials and a guide through the PyPy source code 
++- D14.3 Report about Milestone/Phase 2
++- D14.4 Report about Milestone/Phase 3
++- D14.5 Documentation of the development process and "Sprint driven development" in particular
++- D14.6 Organize four domain specific Workshops during phase 3 with various business and research
++  communities. Reports about these workshops. 
++- D14.7 Arrange two nondomain specific workshops disseminating development process 
++  and results (during phase 1 and phase 3)
++- D14.8 Participation of PyPy researchers and developers in conferences 
++  throughout the project process.
+ 
+ .. include:: wp-tableend.asc
+ .. include:: wp-tablebegin.asc
+ 
+ **Milestones and Expected Result**
+ 
+-Good documentation and dissemination.  A better understanding how 
+-research and development can be accelerated through agile methodologies 
+-and "Sprint Driven Development" and how the PyPy project achieved its goals.
++Good documentation and dissemination to multiple business and research
++communities through promotion, workshops and conference.
++Useful feedback on the practical flexibility of our language research efforts. 
+ 
++A better understanding how research and development can be accelerated
++through agile methodologies and "Sprint Driven Development" and how the
++PyPy project achieved its goals.
++
+ .. include:: wp-tableend.asc


More information about the Pypy-commit mailing list