From pedronis at codespeak.net Thu Apr 1 00:22:27 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Thu, 1 Apr 2004 00:22:27 +0200 (MEST) Subject: [pypy-svn] r3606 - pypy/trunk/doc/funding Message-ID: <20040331222227.C81A75A142@thoth.codespeak.net> Author: pedronis Date: Thu Apr 1 00:22:27 2004 New Revision: 3606 Modified: pypy/trunk/doc/funding/B6.7.wp01_management.txt Log: - fix time/partner allocation Modified: pypy/trunk/doc/funding/B6.7.wp01_management.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp01_management.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp01_management.txt Thu Apr 1 00:22:27 2004 @@ -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| From hpk at codespeak.net Thu Apr 1 11:33:17 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 11:33:17 +0200 (MEST) Subject: [pypy-svn] r3607 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401093317.842305A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 11:33:16 2004 New Revision: 3607 Modified: pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt Log: a much updated version of the "reponses to actions" with some changelog information integrated. i fear there will be ReST problems ... Modified: pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt Thu Apr 1 11:33:16 2004 @@ -2,108 +2,156 @@ Responses to Actions put up in the Meeting notes from 16th of March 2004 ======================================================================== - -Action: the involvement and funding mechanism of PBF should be fully described +**Action: the involvement and funding mechanism of PBF should be fully described** The project coordinator sent a mail on 31th of March detailing the future role of the PBF within the PyPy research project. At the same time, participants formerly supposed to work through the PBF are now to -enter the consortium. - - +enter the consortium. -Action: in first instance no workpackages should be removed -as savings should be obtained through economizing the work planning. +**Action: in first instance no workpackages should be removed +as savings should be obtained through economizing the work planning.** After the withdrawal of MPI and the budget pressure there wasn't enough time to discuss the complete work-plan with all consortium -partners. The consortium has now revisited each work package description -and provides a much better and more consistent work plan, now. We were +partners. But the consortium has now revisited each work package description +and thus provides a much better and more consistent work plan. We were able to retain all Workpackages and tasks by beeing more specific -about the exact deliverables and tasks. As a result each of the partners -in the consortium now had to accept a higher risk and responsbility -for producing all deliverables. +about the exact deliverables and tasks. Also each of the partners +in the consortium now has to accept a much higher risk and responsbility +for producing all deliverables with the reduced resources. The consortium intends to interact early and often with specific -communities and individuals. This should lead to a much better -mobilization of resources. - - +communities and individuals. This should generally lead to a much +better mobilization of resources. -Action: provide fully completed and quality checked CPFs. +**Action: provide fully completed and quality checked CPFs.** We have much improved and completed the CPFs. The project office's responses to our consortium-proposal (sent by the PyPy project coorindator on 29th of March) may make further changes neccessary, though. +**Action: Also the reduction of the end-user involvement represents already +a reduction in work and required budget.** +We still plan to involve language end-users by on various levels. +Note that end-users of the PyPy STREP are mainly -*Action*: Also the reduction of the end-user involvement represents already -a reduction in work and required budget._ +a) developers who want to port and leverage their domain specific extensions + to PyPy. -We still plan to involve end-users on various levels. +b) researchers who want to explore and understand new optimization + and language techniques + +In particular the following deliverables will serve involvement +of those end-users: + +- D03.3 will help developers to port existing C-extensions to PyPy +- D04.4 will help researchers to do innovative language research +- D11.1 and D11.2 provide reports and a useful implementation to + end-users and Axis communications in particular. +- D12.1-3 will provide experimental versions of PyPy to various + groups of end-users (developers and researchers alike). +- D13.2 will provide a tool for end-users to support customizing PyPY + to domain specific needs. +- D14 deliverables provide interaction with various end user communities + including the Research center of IBM in Zuerich -(...) - - - -Action: the body text should be preserved, and a full tracing to +**Action: the body text should be preserved, and a full tracing to workpackages should be ensured (adding tasks, subtasks, and defined output). If traceability is not clear, there may come a request to add a -line stating the body text should be considered +line stating the body text should be considered.** We have now fully traced especially the B1 objectives and B6.0 detailed implementation chapters in the Workpackage descriptions and deliverables. -TOBEDONE - +TOBECOMPLETED - -Action: An explanation on how the envisaged work goes beyond the +**Action: An explanation on how the envisaged work goes beyond the state-of-the-art (both in theoretical concepts and solutions and in the practical implementation should be provided, and how this contributes to -development beyond the Python domain). - -TOBEDONE +development beyond the Python domain).** +The appropriate chapter of B1.0 in the TA has been extended accordingly. +Summarizing we mainly have the following theoretically new approaches +and solutions: + +- Separation of Bytecode interpretation and manipulation of objects, + using a Very-High-Level language to specify semantics + +- "Abstract interpretation" to enable an efficient new way to + close the gap between a VHLL and efficient low-level code, + including advanced JIT-Compilers + +- "Translation aspects" will - among other things - encapsulate + Multithreading and memory mangagement models which today + have to be manually coded all over a language implementation. + +The practical implementation leverages an *industrial-strength* +language implementation (Python) thus connecting the STREP to a +large user base. There even is a chance that PyPy will form +the fundation of the "next generation" Python implemention +commonly refered to as Python3000. Once we have reports and +specific versions of PyPy we will reach out to non-python +communities (see WP14_). - -Action: the coordination and management model should be clarified. +**Action: the coordination and management model should be clarified.** TOBEDONE -Action: Rename the first phase. - -The first phase has been renamed to "Providing a novel language research tool" +**Action: Rename the first phase.** +The first phase has been renamed to "Providing a novel language research tool". -TOBEDONE - - -Action: The DoW will be modified to clarify this [multithreading] issue. - -TOBEDONE +**Action: The DoW will be modified to clarify this [multithreading] issue**. -Action: The DoW will be modified to make it clearer what type of tests we are -referring to +The B1.0 objectives chapter has been extended to clarify the issue. +The WP07_ description and D7.3 and D7.1 in particular have been clarified. +Summarizing, today there are many complicated issues in current language +implementations such as Java, Perl and Python itself. All such +industrial strength language implementations usually decide early on a +specific threading model. The PyPy project researches ways to allow +making this decision much later and well encapsulated. Moreover, massive +parallelism with millions of threads are to become both practical and easy to +program without consuming operating system resources. -The definition of WP05 specifies the test selection process. -... +**Action: The DoW will be modified to make it clearer what type of tests we are +referring to.** +The deliverables of WP04 and WP05 now specify more clearly the test selection. +The original Python developers will be consulted if there is a doubt whether +something is a "language feature" or an "implementation feature" test. -Action: The relevant [AOP/logic] sections of the DoW will be extended. +**Action: The relevant [AOP/logic] sections of the DoW will be extended.** -TOBEDONE +Examples are now given in B6.0 to clarify that PyPy aims at providing +access and interception points to internals greatly improving +performance and practicality of introducing aspects to the language +level. The WP09_ and WP10_ have also been updated accordingly. +**Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** -Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community. +WP14_ and WP11_ now define explicit workshops and dissmentiation activities. +Moreover, several reports and publications have been explicitely added to all +Work Packages. The B6.0 and B1.0 already mentioned various dissemination +activities which are now fully traced in the DoW tasks and deliverables. +**Action: The DoW will include a justification of the license chosen. Compatibility with the GPL will be addressed.** -Action: The DoW will include a justification of the license chosen. Compatibility with the GPL will be addressed. +The chapter in B3.0 Impact chapter which mentioned licensing has been extended to +cover a short discussion of choosing the MIT license over the GPL. While +all consortium partners commit to produce source code always under an MIT +license the project explicitely reserves the right to include GPLed software. +In the latter case some versions of PyPy might have to be released under +a GPL license due to its viral nature. +**Action: The DoW will be modified to avoid this [user] confusion.** -Action: The DoW will be modified to avoid this [user] confusion. +The complete DoW has been clarified accordingly. Mainly end-users +of the PyPy STREP will be language integrators and researchers. +Please note especially, that Users of Applications running on top of PyPy +are not refered to as "End users" but - if neccessary - as "application users". From hpk at codespeak.net Thu Apr 1 11:37:21 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 11:37:21 +0200 (MEST) Subject: [pypy-svn] r3608 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401093721.616775A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 11:37:20 2004 New Revision: 3608 Modified: pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt Log: a try at fixing the references to WPs Modified: pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt Thu Apr 1 11:37:20 2004 @@ -1,3 +1,5 @@ +.. include:: ../crossreferences.asc + ======================================================================== Responses to Actions put up in the Meeting notes from 16th of March 2004 ======================================================================== @@ -38,8 +40,8 @@ We still plan to involve language end-users by on various levels. Note that end-users of the PyPy STREP are mainly -a) developers who want to port and leverage their domain specific extensions - to PyPy. +a) language integrators who want to port and leverage their domain + specific extensions to PyPy. b) researchers who want to explore and understand new optimization and language techniques From hpk at codespeak.net Thu Apr 1 11:43:22 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 11:43:22 +0200 (MEST) Subject: [pypy-svn] r3609 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401094322.76B935A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 11:43:21 2004 New Revision: 3609 Added: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt - copied, changed from r3608, pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt Removed: pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt Log: - renamed the typoed filename - another try at getting the cross-references right (if it fails i will just ask christian :-) Deleted: /pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt ============================================================================== --- /pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt Thu Apr 1 11:43:21 2004 +++ (empty file) @@ -1,159 +0,0 @@ -.. include:: ../crossreferences.asc - -======================================================================== -Responses to Actions put up in the Meeting notes from 16th of March 2004 -======================================================================== - -**Action: the involvement and funding mechanism of PBF should be fully described** - -The project coordinator sent a mail on 31th of March detailing the -future role of the PBF within the PyPy research project. At the same -time, participants formerly supposed to work through the PBF are now to -enter the consortium. - -**Action: in first instance no workpackages should be removed -as savings should be obtained through economizing the work planning.** - -After the withdrawal of MPI and the budget pressure there wasn't -enough time to discuss the complete work-plan with all consortium -partners. But the consortium has now revisited each work package description -and thus provides a much better and more consistent work plan. We were -able to retain all Workpackages and tasks by beeing more specific -about the exact deliverables and tasks. Also each of the partners -in the consortium now has to accept a much higher risk and responsbility -for producing all deliverables with the reduced resources. - -The consortium intends to interact early and often with specific -communities and individuals. This should generally lead to a much -better mobilization of resources. - -**Action: provide fully completed and quality checked CPFs.** - -We have much improved and completed the CPFs. The project office's -responses to our consortium-proposal (sent by the PyPy project -coorindator on 29th of March) may make further changes neccessary, -though. - -**Action: Also the reduction of the end-user involvement represents already -a reduction in work and required budget.** - -We still plan to involve language end-users by on various levels. -Note that end-users of the PyPy STREP are mainly - -a) language integrators who want to port and leverage their domain - specific extensions to PyPy. - -b) researchers who want to explore and understand new optimization - and language techniques - -In particular the following deliverables will serve involvement -of those end-users: - -- D03.3 will help developers to port existing C-extensions to PyPy -- D04.4 will help researchers to do innovative language research -- D11.1 and D11.2 provide reports and a useful implementation to - end-users and Axis communications in particular. -- D12.1-3 will provide experimental versions of PyPy to various - groups of end-users (developers and researchers alike). -- D13.2 will provide a tool for end-users to support customizing PyPY - to domain specific needs. -- D14 deliverables provide interaction with various end user communities - including the Research center of IBM in Zuerich - -**Action: the body text should be preserved, and a full tracing to -workpackages should be ensured (adding tasks, subtasks, and defined -output). If traceability is not clear, there may come a request to add a -line stating the body text should be considered.** - -We have now fully traced especially the B1 objectives and B6.0 detailed implementation -chapters in the Workpackage descriptions and deliverables. - -TOBECOMPLETED - - -**Action: An explanation on how the envisaged work goes beyond the -state-of-the-art (both in theoretical concepts and solutions and in the -practical implementation should be provided, and how this contributes to -development beyond the Python domain).** - -The appropriate chapter of B1.0 in the TA has been extended accordingly. -Summarizing we mainly have the following theoretically new approaches -and solutions: - -- Separation of Bytecode interpretation and manipulation of objects, - using a Very-High-Level language to specify semantics - -- "Abstract interpretation" to enable an efficient new way to - close the gap between a VHLL and efficient low-level code, - including advanced JIT-Compilers - -- "Translation aspects" will - among other things - encapsulate - Multithreading and memory mangagement models which today - have to be manually coded all over a language implementation. - -The practical implementation leverages an *industrial-strength* -language implementation (Python) thus connecting the STREP to a -large user base. There even is a chance that PyPy will form -the fundation of the "next generation" Python implemention -commonly refered to as Python3000. Once we have reports and -specific versions of PyPy we will reach out to non-python -communities (see WP14_). - -**Action: the coordination and management model should be clarified.** - -TOBEDONE - - -**Action: Rename the first phase.** - -The first phase has been renamed to "Providing a novel language research tool". - -**Action: The DoW will be modified to clarify this [multithreading] issue**. - -The B1.0 objectives chapter has been extended to clarify the issue. -The WP07_ description and D7.3 and D7.1 in particular have been clarified. -Summarizing, today there are many complicated issues in current language -implementations such as Java, Perl and Python itself. All such -industrial strength language implementations usually decide early on a -specific threading model. The PyPy project researches ways to allow -making this decision much later and well encapsulated. Moreover, massive -parallelism with millions of threads are to become both practical and easy to -program without consuming operating system resources. - -**Action: The DoW will be modified to make it clearer what type of tests we are -referring to.** - -The deliverables of WP04 and WP05 now specify more clearly the test selection. -The original Python developers will be consulted if there is a doubt whether -something is a "language feature" or an "implementation feature" test. - - -**Action: The relevant [AOP/logic] sections of the DoW will be extended.** - -Examples are now given in B6.0 to clarify that PyPy aims at providing -access and interception points to internals greatly improving -performance and practicality of introducing aspects to the language -level. The WP09_ and WP10_ have also been updated accordingly. - -**Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** - -WP14_ and WP11_ now define explicit workshops and dissmentiation activities. -Moreover, several reports and publications have been explicitely added to all -Work Packages. The B6.0 and B1.0 already mentioned various dissemination -activities which are now fully traced in the DoW tasks and deliverables. - -**Action: The DoW will include a justification of the license chosen. Compatibility with the GPL will be addressed.** - -The chapter in B3.0 Impact chapter which mentioned licensing has been extended to -cover a short discussion of choosing the MIT license over the GPL. While -all consortium partners commit to produce source code always under an MIT -license the project explicitely reserves the right to include GPLed software. -In the latter case some versions of PyPy might have to be released under -a GPL license due to its viral nature. - -**Action: The DoW will be modified to avoid this [user] confusion.** - -The complete DoW has been clarified accordingly. Mainly end-users -of the PyPy STREP will be language integrators and researchers. -Please note especially, that Users of Applications running on top of PyPy -are not refered to as "End users" but - if neccessary - as "application users". Copied: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (from r3608, pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt) ============================================================================== --- pypy/trunk/doc/funding/negotiations/reponses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 11:43:21 2004 @@ -1,5 +1,19 @@ -.. include:: ../crossreferences.asc +.. _WP01: ../B6.7.wp01_management.html +.. _WP02: ../B6.7.wp02_maintenance.html +.. _WP03: ../B6.7.wp03_synchronisation.html +.. _WP04: ../B6.7.wp04_core.html +.. _WP05: ../B6.7.wp05_translation.html +.. _WP06: ../B6.7.wp06_core_optimisations.html +.. _WP07: ../B6.7.wp07_translator_optimisations.html +.. _WP08: ../B6.7.wp08_dynamic_optimisation.html +.. _WP09: ../B6.7.wp09_search_and_logic.html +.. _WP10: ../B6.7.wp10_aspects_and_contracts.html +.. _WP11: ../B6.7.wp11_embed_in_hardware.html +.. _WP12: ../B6.7.wp12_validations.html +.. _WP13: ../B6.7.wp13_integration_config.html +.. _WP14: ../B6.7.wp14_documentation.html +.. |e| unicode:: 0x20 .. doesn't work with plain spaces ======================================================================== Responses to Actions put up in the Meeting notes from 16th of March 2004 ======================================================================== From hpk at codespeak.net Thu Apr 1 11:44:59 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 11:44:59 +0200 (MEST) Subject: [pypy-svn] r3610 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401094459.AB0B45A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 11:44:59 2004 New Revision: 3610 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - minor ReST fix Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 11:44:59 2004 @@ -12,8 +12,8 @@ .. _WP12: ../B6.7.wp12_validations.html .. _WP13: ../B6.7.wp13_integration_config.html .. _WP14: ../B6.7.wp14_documentation.html - .. |e| unicode:: 0x20 .. doesn't work with plain spaces + ======================================================================== Responses to Actions put up in the Meeting notes from 16th of March 2004 ======================================================================== From hpk at codespeak.net Thu Apr 1 12:11:59 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 12:11:59 +0200 (MEST) Subject: [pypy-svn] r3611 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401101159.25E705A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 12:11:59 2004 New Revision: 3611 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - fixed being - added a small bit to the "end-user" action - enhanced the reference to Python3000 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 12:11:59 2004 @@ -32,7 +32,7 @@ enough time to discuss the complete work-plan with all consortium partners. But the consortium has now revisited each work package description and thus provides a much better and more consistent work plan. We were -able to retain all Workpackages and tasks by beeing more specific +able to retain all Workpackages and tasks by being more specific about the exact deliverables and tasks. Also each of the partners in the consortium now has to accept a much higher risk and responsbility for producing all deliverables with the reduced resources. @@ -105,13 +105,12 @@ Multithreading and memory mangagement models which today have to be manually coded all over a language implementation. -The practical implementation leverages an *industrial-strength* -language implementation (Python) thus connecting the STREP to a -large user base. There even is a chance that PyPy will form -the fundation of the "next generation" Python implemention -commonly refered to as Python3000. Once we have reports and -specific versions of PyPy we will reach out to non-python -communities (see WP14_). +The practical implementation leverages an *industrial-strength* language +implementation (Python) thus connecting the STREP to a large user base. +It is possible that PyPy will form the fundation of the "next +generation" Python implemention commonly refered to as Python3000. Once +we have reports and specific versions of PyPy we will reach out to +non-python communities (see WP14_). **Action: the coordination and management model should be clarified.** @@ -171,3 +170,5 @@ of the PyPy STREP will be language integrators and researchers. Please note especially, that Users of Applications running on top of PyPy are not refered to as "End users" but - if neccessary - as "application users". +The PyPy implementation is planned to be useful to end-users and all application +users. From hpk at codespeak.net Thu Apr 1 12:52:18 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 12:52:18 +0200 (MEST) Subject: [pypy-svn] r3616 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401105218.79B755A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 12:52:17 2004 New Revision: 3616 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: updated my part of the CPF a bit to include historical information from the year 2000 (i hope this is early enough, for more recent numbers i have to get to my tax consultant who still has most of my papers). Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Thu Apr 1 12:52:17 2004 @@ -8,6 +8,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -73,6 +74,7 @@ + ]]> @@ -115,6 +117,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -284,6 +287,7 @@ + ]]> @@ -627,10 +631,10 @@ - 110000 + 135451 0 - 2001 - 0 + 2000 + 10000 1 1 0 @@ -673,7 +677,7 @@ 0224 225 1201 130000 - + 0 2003 10000 1 @@ -715,6 +719,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -895,6 +900,7 @@ + ]]> @@ -1275,21 +1281,21 @@ - Holger Krekel + customer places and office - - - - - - + Krekel + Holger + Mr. + M + +49 5121 47247 + +49 5121 691082 - + Y @@ -1301,7 +1307,7 @@ senior consultant - + sole owner N 0 N @@ -1354,7 +1360,7 @@ Sole owner - + 0 @@ -1380,6 +1386,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1485,6 +1492,7 @@ + ]]> @@ -1619,6 +1627,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1752,6 +1761,7 @@ + ]]> @@ -1931,19 +1941,19 @@ 9 Alex Martelli FCF - - - - - - - - - - - - - + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -1967,6 +1977,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2015,6 +2026,7 @@ + ]]> @@ -2111,6 +2123,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2290,6 +2303,7 @@ + ]]> @@ -2359,6 +2373,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2433,6 +2448,7 @@ + ]]> @@ -2585,6 +2601,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2880,6 +2897,7 @@ + ]]> @@ -3455,64 +3473,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 From lac at codespeak.net Thu Apr 1 13:08:45 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Thu, 1 Apr 2004 13:08:45 +0200 (MEST) Subject: [pypy-svn] r3617 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401110845.DE1735A142@thoth.codespeak.net> Author: lac Date: Thu Apr 1 13:08:45 2004 New Revision: 3617 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: fix typos, add line about using GPL limiting our ability to be part of Python 3000, and change some word orders. Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 13:08:45 2004 @@ -20,7 +20,7 @@ **Action: the involvement and funding mechanism of PBF should be fully described** -The project coordinator sent a mail on 31th of March detailing the +The project coordinator sent a mail on the 31th of March detailing the future role of the PBF within the PyPy research project. At the same time, participants formerly supposed to work through the PBF are now to enter the consortium. @@ -28,25 +28,22 @@ **Action: in first instance no workpackages should be removed as savings should be obtained through economizing the work planning.** -After the withdrawal of MPI and the budget pressure there wasn't -enough time to discuss the complete work-plan with all consortium -partners. But the consortium has now revisited each work package description -and thus provides a much better and more consistent work plan. We were -able to retain all Workpackages and tasks by being more specific -about the exact deliverables and tasks. Also each of the partners +The consortium has now revisited each work package description +and has provided a much better and more consistent work plan. We were +able to retain all Workpackages and were more specific +about the exact deliverables and tasks. It was also necessary to +reduce the scope of some of the work packages. Each of the partners in the consortium now has to accept a much higher risk and responsbility for producing all deliverables with the reduced resources. The consortium intends to interact early and often with specific -communities and individuals. This should generally lead to a much -better mobilization of resources. +communities and individuals. This should effectively mobilise our resources. **Action: provide fully completed and quality checked CPFs.** -We have much improved and completed the CPFs. The project office's +We have completed and greatly improved the CPFs. The project office's responses to our consortium-proposal (sent by the PyPy project -coorindator on 29th of March) may make further changes neccessary, -though. +coorindator on 29th of March) may still make further changes neccessary. **Action: Also the reduction of the end-user involvement represents already a reduction in work and required budget.** @@ -72,7 +69,7 @@ - D13.2 will provide a tool for end-users to support customizing PyPY to domain specific needs. - D14 deliverables provide interaction with various end user communities - including the Research center of IBM in Zuerich + including the Research center of IBM in Zurich **Action: the body text should be preserved, and a full tracing to workpackages should be ensured (adding tasks, subtasks, and defined @@ -162,7 +159,12 @@ all consortium partners commit to produce source code always under an MIT license the project explicitely reserves the right to include GPLed software. In the latter case some versions of PyPy might have to be released under -a GPL license due to its viral nature. +a GPL license. If PyPy becomes the basis of Python 3000, there may be +some pressure to release this under the Python license. If we develop +under the MIT license, then we are most flexible in this regard. Committing +to a GPL license would drastically reduce our ability to become the basis +of Python 3000, since the CPython developers have already rejected the +GPL as the license for developing Python. **Action: The DoW will be modified to avoid this [user] confusion.** From hpk at codespeak.net Thu Apr 1 13:10:57 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 13:10:57 +0200 (MEST) Subject: [pypy-svn] r3618 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401111057.BD8CA5A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 13:10:56 2004 New Revision: 3618 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: added PBF contact data (phone number + fax number) Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Thu Apr 1 13:10:56 2004 @@ -9,6 +9,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -75,6 +76,7 @@ + ]]> @@ -118,6 +120,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -288,6 +291,7 @@ + ]]> @@ -720,6 +724,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -901,6 +906,7 @@ + ]]> @@ -1084,13 +1090,13 @@ Hildesheim Steinbergstr. 42 - Holger Krekel - + Krekel + Holger Mr M - - - + +49 5121 47247 + +49 5121 691082 + hpk at trillke.net N @@ -1387,6 +1393,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1493,6 +1500,7 @@ + ]]> @@ -1628,6 +1636,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1762,6 +1771,7 @@ + ]]> @@ -1978,6 +1988,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2027,6 +2038,7 @@ + ]]> @@ -2124,6 +2136,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2304,6 +2317,7 @@ + ]]> @@ -2374,6 +2388,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2449,6 +2464,7 @@ + ]]> @@ -2602,6 +2618,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2898,6 +2915,7 @@ + ]]> From pedronis at codespeak.net Thu Apr 1 13:16:25 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Thu, 1 Apr 2004 13:16:25 +0200 (MEST) Subject: [pypy-svn] r3619 - pypy/trunk/doc/funding Message-ID: <20040401111625.402D95A142@thoth.codespeak.net> Author: pedronis Date: Thu Apr 1 13:16:24 2004 New Revision: 3619 Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Log: stating the mostly obvious, the report will describe also pef characteristic of the archicture. Matches more explictily the Milstones and Expecteds results part. Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Thu Apr 1 13:16:24 2004 @@ -55,7 +55,7 @@ - D08.1 A processor back-end supporting Intel(tm) i386 and PowerPC - D08.2 Release A Just-In-Time compiler for PyPy -- D08.3 Publish a report about the new JIT architecture and how its +- D08.3 Publish a report about the new JIT architecture, its perfomance and how its techniques can be applied to languages other than Python/PyPy. .. include:: wp-tableend.asc From pedronis at codespeak.net Thu Apr 1 15:03:38 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Thu, 1 Apr 2004 15:03:38 +0200 (MEST) Subject: [pypy-svn] r3633 - pypy/trunk/doc/funding Message-ID: <20040401130338.DC1F25A142@thoth.codespeak.net> Author: pedronis Date: Thu Apr 1 15:03:38 2004 New Revision: 3633 Modified: pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt Log: add deliverable for better traceability of task2 output Modified: pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt Thu Apr 1 15:03:38 2004 @@ -59,6 +59,7 @@ - D07.1 Release a version of PyPy that supports real-time massive parallelism - D07.2 Publish optimisation results - D07.3 Report about practical usages of massive parallelism +- D07.3 Report on approaches for memory management and object implementations for high performance PyPy .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From hpk at codespeak.net Thu Apr 1 15:47:56 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 15:47:56 +0200 (MEST) Subject: [pypy-svn] r3634 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401134756.1D1405A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 15:47:56 2004 New Revision: 3634 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - some small enhancements and corrections regarding the mail-date Alastair, please check that 29th is indeed the day you sent the PBF/consortium proposal Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 15:47:56 2004 @@ -20,10 +20,12 @@ **Action: the involvement and funding mechanism of PBF should be fully described** -The project coordinator sent a mail on the 31th of March detailing the +The project coordinator sent a mail on the 29th of March detailing the future role of the PBF within the PyPy research project. At the same time, participants formerly supposed to work through the PBF are now to -enter the consortium. +enter the consortium. We presume until further feedback that this is +a viable model and have allocated resources and partners in the DoW +accordingly. **Action: in first instance no workpackages should be removed as savings should be obtained through economizing the work planning.** @@ -42,13 +44,12 @@ **Action: provide fully completed and quality checked CPFs.** We have completed and greatly improved the CPFs. The project office's -responses to our consortium-proposal (sent by the PyPy project -coorindator on 29th of March) may still make further changes neccessary. +feedback to our consortium-proposal may still make further changes neccessary. **Action: Also the reduction of the end-user involvement represents already a reduction in work and required budget.** -We still plan to involve language end-users by on various levels. +We still plan to involve language end-users on various levels. Note that end-users of the PyPy STREP are mainly a) language integrators who want to port and leverage their domain From arigo at codespeak.net Thu Apr 1 16:08:52 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 16:08:52 +0200 (MEST) Subject: [pypy-svn] r3635 - in pypy/trunk/doc/funding: . negotiations Message-ID: <20040401140852.ADE215A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 16:08:52 2004 New Revision: 3635 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - Upgraded the section "Beyond the state of the art", with explicit focus on Theoretical concepts, How we do it, and Distribution outside python. - Added one line to the responses for "interesting outside python". Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Thu Apr 1 16:08:52 2004 @@ -176,21 +176,44 @@ Beyond State of The Art ----------------------------- -Our architecture is based on Object Spaces and translation. The -interpreter's main dispatch loop handles control flow and supporting -data structures (frame stack, bytecode objects...); each individual -operation on objects is dispatched to the Object Space. +Theoretical concepts +++++++++++++++++++++ + +* We present a novel interpreter architecture based on the separation + between Bytecode interpretation and **Object Spaces.** The former, i.e. + the interpreter's main dispatch loop, handles control flow and supporting + data structures (frame stack, bytecode objects...), while each individual + operation on objects is dispatched to the Object Space. In effect, + an Object Space explicitely captures the notion of "object library". + +* Object Spaces simultaneously capture the notion of "abstract domains": + indeed, building on this architecture, **abstract interpretation** based + on the *same* Bytecode interpreter with a different Object Space gives + us unprecedented power and simplicity for all kind of source analysis + tools. In particular, this is a new way to efficiently close the gap + between a Very High-Level Language (VHLL) and low-level code, including + for advanced JIT compilers. + +* Many aspects of the interpreter are not fixed in all their details within + the interpreter source: they are **translation aspects,** i.e. they are + weaved into the low-level translation of our VHLL source by the process of + translating it into a low-level equivalent. This allows low-level aspects + like multithreading, memory management, and continuation management to be + kept orthogonal from the rest of the source. + + +Interpreter modularity +++++++++++++++++++++++ Object Spaces, in contrast to monadic interpreters, will allow -customization with OO techniques, as they encapsulate the object -operation semantics, creation and global state of all objects. As -mentioned above, monad transformers can be used to modularize -continuation passing, exceptions and other control flow aspects. We -expect to encapsulate each of those either in Object Spaces, in the interpreter -loop, or as aspects of the translation process (which would then generate -for example continuation-passing code). +customization with OO techniques. They encapsulate the object +operation semantics, creation and global state of all objects. +As mentioned above, monad transformers have been used to +modularize continuation passing, exceptions and other control flow +aspects; the theoretical solution we provide offers a more practical +and scalable approach to the modularization of these aspects. -This latter point is in contrast to the related work previously cited: +In contrast to the related work previously cited, we don't expect to encode a fixed single interpreter in all its details in a subset of our VHLL (Python). We plan to exploit the flexibility and abstraction gained by using the VHLL and -- most importantly -- the indirectness of @@ -210,7 +233,11 @@ In summary, we will explore for each feature and extension how to best implement it by separation of concerns: either in OO-customized Object Spaces, or in the core or in modules to be translated, or as a pluggable -behavior of the translation itself. +behaviour of the translation itself. + + +Translation aspects ++++++++++++++++++++ The front-end of the translator itself will be innovative in that it is based on abstract (symbolic) interpretation. The translation of code @@ -219,12 +246,12 @@ plugging a custom Object Space. This turns the Object Space operations into the semantics units of translation as well, leveraging the coherence of our architecture and gaining independence from surface issues including -the details of the bytecode itself. +the details of the syntax or of the bytecode itself. Moreover, we can use the full dynamism of Python at system definition time, i.e. when PyPy loads, until we reach a "stable-and-ready" state that the translator can freeze into a snapshot containing exactly the features and -modules that we need. In previous work, the translator only operated on the -static source code. +modules that we need. In previous work, the translator generally operated +on the static source code. During the translation process, weaving custom aspects will be done mainly as intermediate stages, while the customizable back-end generates low-level @@ -249,11 +276,32 @@ of (or in addition to) the normal C instructions that would be the direct translation. -Finally we expect to develop automatic interpreter build tools that allow + +Distribution +++++++++++++ + +We expect to develop automatic interpreter build tools that allow choices about aspects, modifications and extensions to be made by the language user, and that enable advanced programmers to develop and integrate their own aspects and extensions to the language. +We believe that ours is a practical and scalable approach to interpreter +modularity, applicable to any language, from general to domain-specific ones. +The PyPy implementation should quickly reach the large user base of the +current, industrial-strength Python, and could eventually form the fundation +of the "next generation" Python implemention commonly refered to as +Python3000. The efforts will be focused on actively reaching out non-Python +communities, based on: + +* the build tools to generate customized versions of Python, attractive to + a larger industrial base which is currently outside the scope of VHLLs + for reasons like performance, configurability, or end-user device resources; + +* the framework of PyPy's source code, reusable to implement other + general or domain-specific languages; + +* the theoretical approach and solutions that we publish. + ---------------------------------------------- **References** Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 16:08:52 2004 @@ -103,9 +103,10 @@ Multithreading and memory mangagement models which today have to be manually coded all over a language implementation. -The practical implementation leverages an *industrial-strength* language -implementation (Python) thus connecting the STREP to a large user base. -It is possible that PyPy will form the fundation of the "next +Each one of these notions is interesting beyond the scope of Python. +Moreover, the practical implementation leverages an *industrial-strength* +language implementation (Python) thus connecting the STREP to a large user +base. It is possible that PyPy will form the fundation of the "next generation" Python implemention commonly refered to as Python3000. Once we have reports and specific versions of PyPy we will reach out to non-python communities (see WP14_). From tismer at codespeak.net Thu Apr 1 16:08:58 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Thu, 1 Apr 2004 16:08:58 +0200 (MEST) Subject: [pypy-svn] r3636 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401140858.351FC5AFCE@thoth.codespeak.net> Author: tismer Date: Thu Apr 1 16:08:56 2004 New Revision: 3636 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: added info for Tismer to a-c. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Thu Apr 1 16:08:56 2004 @@ -10,6 +10,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -77,6 +78,7 @@ + ]]> @@ -121,6 +123,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -292,6 +295,7 @@ + ]]> @@ -701,6 +705,51 @@ N + + + 004779 + PYPY + 10 + Dipl.-Math. Christian Tismer + Tax number 25/561/60688 + Christian Tismer + + Johannes-Niemeyer-Weg 9A + 14109 + DE + Berlin + + + IND + N + + + + + + + + 135959 + + 2001 + 10000 + 1 + 1 + 0 + 1 + FCF + + PRIV + + + N + N + C + + N + + N + @@ -725,6 +774,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -907,6 +957,7 @@ + ]]> @@ -1370,6 +1421,57 @@ + + + 004779 + PYPY + 10 + Tismer + Christian + Mr. + M + +49 802 86 56 + +49 80 90 57 05 + tismer at stackless.com + + + + + + + + Central Office + + + + + + + Tismer + Christian + Mr. + M + +49 802 86 56 + +49 80 90 57 05 + tismer at stackless.com + N + + + + + + + + + + Sole owner + + Sole owner + N + + N + + @@ -1394,6 +1496,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1501,6 +1604,7 @@ + ]]> @@ -1613,6 +1717,18 @@ + + + 004779 + PYPY + 10 + Dipl.-Math. Christian Tismer + Tismer + + Christian + + + @@ -1637,6 +1753,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1772,6 +1889,7 @@ + ]]> @@ -1965,6 +2083,27 @@ 0 0 + + + 004779 + PYPY + 10 + Christian Tismer + FCF + + + + + + + + + + + + + + @@ -1989,6 +2128,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2039,6 +2179,7 @@ + ]]> @@ -2137,6 +2278,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2318,6 +2460,7 @@ + ]]> @@ -2389,6 +2532,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2465,6 +2609,7 @@ + ]]> @@ -2595,6 +2740,20 @@ + + + 004779 + PYPY + 10 + + + + + + + + + @@ -2619,6 +2778,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2916,6 +3076,7 @@ + ]]> @@ -3550,6 +3711,76 @@ 0 0 + + + 004779 + PYPY + 10 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From hpk at codespeak.net Thu Apr 1 16:36:27 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 16:36:27 +0200 (MEST) Subject: [pypy-svn] r3637 - pypy/trunk/doc/funding Message-ID: <20040401143627.B0D015A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 16:36:27 2004 New Revision: 3637 Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt Log: WP05 has the highest allocated resources (29 MM) so i tried to describe it in much more detail on the task/subtask level. The PO did say in one action: in general add tasks, subtasks and defined output (deliverables). Please everyone see if you think this is right. (WP05 also has many partners) Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp05_translation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp05_translation.txt Thu Apr 1 16:36:27 2004 @@ -34,20 +34,31 @@ **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 for most -of the core. At the core of this task lies the research and +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 implementing Abstract + Interpretation and using it for type inference in particular. + **Task 2** Produce a tool chain, capable of extracting the RPython byte code from the core, translating it into low-level code (with C beeing the primary target) and compiling it. -Use the data gathered in Task 1 to drive the translation -process. + +- 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** @@ -57,6 +68,12 @@ 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 and threadings models 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 @@ -64,8 +81,8 @@ - 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 design in particular. -- D05.2 Release a compiled, self-contained modular version of PyPy. + 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 From arigo at codespeak.net Thu Apr 1 16:45:52 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 16:45:52 +0200 (MEST) Subject: [pypy-svn] r3638 - pypy/trunk/doc/funding Message-ID: <20040401144552.8669D5A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 16:45:51 2004 New Revision: 3638 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: - minor clarification. - typo. Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Thu Apr 1 16:45:51 2004 @@ -64,7 +64,8 @@ * pervasive security support * logic and aspect-oriented programming -The second key idea is to write the interpreter and Object Spaces in a +The second key idea to reach this level of flexibility +is to write the interpreter and Object Spaces in a VHLL language (Python itself) and recover performance with a separate translation process producing specialized efficient low-level code. The translation is not one-shot: it can be repeated and tailored to weave @@ -74,7 +75,7 @@ The PyPy project plans to deliver a compliant language implementation passing all unit-tests of the current reference C-implementation that are relevant to the new one. At least 90% of existing unit tests will be directly -+applicable.[*]_ Moreover, we will be able to add techniques such as JIT compilation +applicable.[*]_ Moreover, we will be able to add techniques such as JIT compilation without making the interpreter more complex. Thus we will get speed increases of 2-10 times over the reference C-implementation. We expect algorithmic code to run at least at 50% of the speed of pure, optimized C code. From arigo at codespeak.net Thu Apr 1 17:01:11 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 17:01:11 +0200 (MEST) Subject: [pypy-svn] r3640 - pypy/trunk/doc/funding Message-ID: <20040401150111.605935A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 17:01:10 2004 New Revision: 3640 Added: pypy/trunk/doc/funding/man-months.py Log: I can't resist a bit of hacking. Just run it and you'll see the current man-months table. Added: pypy/trunk/doc/funding/man-months.py ============================================================================== --- (empty file) +++ pypy/trunk/doc/funding/man-months.py Thu Apr 1 17:01:10 2004 @@ -0,0 +1,49 @@ +import os + +def sorted(l): + l = list(l) + l.sort() + return l + +partners = {} +wps = {} + +for fn in os.listdir('.'): + if fn.startswith('B6.7.wp') and fn.endswith('.txt'): + wp = fn[7:9] + wps[wp] = True + data = {} + for line in file(fn): + if line.startswith('.. |'): + value = line[21:].strip() + if value != '|e|': + data[line[4:6]] = value + for n in range(1,7): + if ('p%d' % n) in data: + partner = data['p%d' % n].lower().capitalize() + if partner == 'Dkfi': + partner = 'Dfki' + partners.setdefault(partner, {})[wp] = int(data['m%d' % n]) + +print +print '%10s' % '', +for wp in sorted(wps.keys()): + print '%3s' % wp, +print +print + +for partner, mm in sorted(partners.items()): + print '%10s' % partner, + for wp in sorted(wps.keys()): + if wp in mm: + print '%3d' % mm[wp], + else: + print ' ', + print ' : %2d' % sum(mm.values()) + +print +print '%10s' % '', +for wp in sorted(wps.keys()): + print '%3d' % sum([mm.get(wp,0) for mm in partners.values()]), +print +print From jacob at codespeak.net Thu Apr 1 17:27:45 2004 From: jacob at codespeak.net (jacob at codespeak.net) Date: Thu, 1 Apr 2004 17:27:45 +0200 (MEST) Subject: [pypy-svn] r3641 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401152745.E9A8A5A142@thoth.codespeak.net> Author: jacob Date: Thu Apr 1 17:27:45 2004 New Revision: 3641 Modified: pypy/trunk/doc/funding/negotiations/A3_draft.xls pypy/trunk/doc/funding/negotiations/pypycuts.xls Log: New budget numbers Modified: pypy/trunk/doc/funding/negotiations/A3_draft.xls ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/pypycuts.xls ============================================================================== Binary files. No diff available. From arigo at codespeak.net Thu Apr 1 17:41:22 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 17:41:22 +0200 (MEST) Subject: [pypy-svn] r3642 - pypy/trunk/doc/funding Message-ID: <20040401154122.BE5D05A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 17:41:21 2004 New Revision: 3642 Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt Log: - More about type inference. - One more example of translator aspect. - Typos. Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp05_translation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp05_translation.txt Thu Apr 1 17:41:21 2004 @@ -44,14 +44,17 @@ - Coordinate the definition of RPython with WP04_, being the implementation language for most of the core. -- Experiment with different ways of implementing Abstract - Interpretation and using it for type inference in particular. +- 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 (with C beeing the primary target) and compiling it. +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. @@ -70,9 +73,9 @@ - Implement a minimal C-runtime for the translated PyPy -- Integrate Memory Management and threadings models in a modular way - into both the C-runtime and the statically generated PyPy low level - code. +- 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 From arigo at codespeak.net Thu Apr 1 17:47:53 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 17:47:53 +0200 (MEST) Subject: [pypy-svn] r3643 - pypy/trunk/doc/funding Message-ID: <20040401154753.B3D185A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 17:47:52 2004 New Revision: 3643 Modified: pypy/trunk/doc/funding/B6.7.wp04_core.txt Log: Much more detailled tasks, occasionally hinting at why we think it takes so much time. Modified: pypy/trunk/doc/funding/B6.7.wp04_core.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp04_core.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp04_core.txt Thu Apr 1 17:47:52 2004 @@ -33,23 +33,57 @@ **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. +Design and implement an interpreter that is able to accept +the complete Python language specification. This task +specifically includes: + +- Design the Object Space interface. + +- Design and implement a bytecode interpreter, accepting + the standard CPython bytecode format. + +- Design and implement 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 Python "builtin" library of types, functions and -classes to PyPy (most of them are currently implemented in C). +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 of the 100 builtin objects within PyPy in a simple and -efficient way. +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 by -leveraging existing research and implementation work. +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, 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 @@ -58,7 +92,7 @@ - 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.3 Report about the parser and bytecode compiler implementation - D04.4 Release PyPy as a research tool for experimental language enhancements @@ -75,7 +109,8 @@ - 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 or - if technically not feasible - - matched with equivalent functionality in PyPy. + commonly used modules reimplemented in a flexible framework or - if + technically not feasible - matched with equivalent functionality in + PyPy. .. include:: wp-tableend.asc From arigo at codespeak.net Thu Apr 1 18:07:12 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 18:07:12 +0200 (MEST) Subject: [pypy-svn] r3644 - pypy/trunk/doc/funding Message-ID: <20040401160712.766E15A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 18:07:11 2004 New Revision: 3644 Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Log: Extended tasks and deliverables. Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Thu Apr 1 18:07:11 2004 @@ -34,29 +34,55 @@ **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 Release A Just-In-Time compiler for PyPy -- D08.3 Publish a report about the new JIT architecture, its perfomance and how its - techniques can be applied to languages other than Python/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 From hpk at codespeak.net Thu Apr 1 18:07:57 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 18:07:57 +0200 (MEST) Subject: [pypy-svn] r3645 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401160757.EB52B5A3FD@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 18:07:57 2004 New Revision: 3645 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: small modifications after getting more detailed info from my tax consultant. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Thu Apr 1 18:07:57 2004 @@ -11,6 +11,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -79,6 +80,7 @@ + ]]> @@ -124,6 +126,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -296,6 +299,7 @@ + ]]> @@ -638,8 +642,8 @@ - - 135451 + 30/124/04270 + 150038 0 2000 10000 @@ -730,7 +734,7 @@ 135959 - + 0 2001 10000 1 @@ -775,6 +779,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -958,6 +963,7 @@ + ]]> @@ -1468,7 +1474,7 @@ Sole owner N - + 0 N @@ -1497,6 +1503,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1605,6 +1612,7 @@ + ]]> @@ -1754,6 +1762,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1890,6 +1899,7 @@ + ]]> @@ -2090,19 +2100,19 @@ 10 Christian Tismer FCF - - - - - - - - - - - - - + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 @@ -2129,6 +2139,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2180,6 +2191,7 @@ + ]]> @@ -2279,6 +2291,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2461,6 +2474,7 @@ + ]]> @@ -2533,6 +2547,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2610,6 +2625,7 @@ + ]]> @@ -2779,6 +2795,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -3077,6 +3094,7 @@ + ]]> @@ -3722,64 +3740,64 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 + 0 From jacob at codespeak.net Thu Apr 1 18:08:19 2004 From: jacob at codespeak.net (jacob at codespeak.net) Date: Thu, 1 Apr 2004 18:08:19 +0200 (MEST) Subject: [pypy-svn] r3646 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401160819.56C8C5A142@thoth.codespeak.net> Author: jacob Date: Thu Apr 1 18:08:18 2004 New Revision: 3646 Modified: pypy/trunk/doc/funding/negotiations/pypycuts.xls Log: Moved man months Modified: pypy/trunk/doc/funding/negotiations/pypycuts.xls ============================================================================== Binary files. No diff available. From arigo at codespeak.net Thu Apr 1 18:25:03 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 18:25:03 +0200 (MEST) Subject: [pypy-svn] r3647 - pypy/trunk/doc/funding Message-ID: <20040401162503.BC2F35A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 18:25:03 2004 New Revision: 3647 Modified: pypy/trunk/doc/funding/B6.7.wp04_core.txt Log: Minor rephrasing. Modified: pypy/trunk/doc/funding/B6.7.wp04_core.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp04_core.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp04_core.txt Thu Apr 1 18:25:03 2004 @@ -33,16 +33,17 @@ **Task 1** -Design and implement an interpreter that is able to accept -the complete Python language specification. This task -specifically includes: +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: - Design the Object Space interface. -- Design and implement a bytecode interpreter, accepting +- Implement a bytecode interpreter, accepting the standard CPython bytecode format. -- Design and implement a "standard" object space implementing +- Implement a "standard" object space implementing the core Python objects' normal semantics. This task excludes the standard extension modules and the From arigo at codespeak.net Thu Apr 1 18:27:02 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 18:27:02 +0200 (MEST) Subject: [pypy-svn] r3648 - pypy/trunk/doc/funding Message-ID: <20040401162702.632615A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 18:27:01 2004 New Revision: 3648 Modified: pypy/trunk/doc/funding/B6.7.wp04_core.txt Log: Some more rephrasing. Modified: pypy/trunk/doc/funding/B6.7.wp04_core.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp04_core.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp04_core.txt Thu Apr 1 18:27:01 2004 @@ -36,15 +36,16 @@ 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: +This task specifically includes research and implementation +work leading to: -- Design the Object Space interface. +- the Object Space interface. -- Implement a bytecode interpreter, accepting - the standard CPython bytecode format. +- a bytecode interpreter, accepting the standard CPython + bytecode format. -- Implement a "standard" object space implementing - the core Python objects' normal semantics. +- 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 @@ -80,8 +81,8 @@ - Design a flexible way to insert the compiler into the code base, easing future experimentation with the syntax. -- More generally, provide bridges between the interpreter source - and the code it interprets, allowing the interpreter to delegate +- 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). From hpk at codespeak.net Thu Apr 1 19:26:05 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 19:26:05 +0200 (MEST) Subject: [pypy-svn] r3649 - in pypy/trunk/doc/funding: . negotiations Message-ID: <20040401172605.ECDE55A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 19:26:03 2004 New Revision: 3649 Modified: pypy/trunk/doc/funding/B3.impact.txt pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - added licensing discussion to both B3.0 and the responses document, took Jacob's and others fragments and reworked them a bit - added a better para in the response about "end-users" Please check! Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Thu Apr 1 19:26:03 2004 @@ -264,15 +264,16 @@ ++++++++++++++++++++++++++++++ This is an Open Source Project. Thus complicated issues involving -intellectual property simply do not arise. The knowledge produced +intellectual property do not arise. The knowledge produced by this project, every deliverable, is listed at Dissemination Level Public. We are utterly committed to transparency and open dissemination, and as such will have all of our code available for nightly downloads, our papers freely available on the PyPy websites, and freely available for other people to link to. All Consortium members will have signed -a consortium agreement, asserting that all code will be released -under the MIT Open Source License, approved by both the Open Source -Initiative and the Free Software Foundation. The MIT license is here. +a consortium agreement, asserting that all code producing during the +PyPy STREP will be released under the MIT Open Source License, approved +by both the Open Source Initiative and the Free Software Foundation. +The MIT license is here. :: @@ -299,14 +300,34 @@ FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. -This license is concise and clearly permits any person obtaining our product to -use it without limitation. The open, clear language removes any chance of -licensing controversy. - -Management of this intellectual property consists of a posting the license on -the website or wherever source code is available, and periodically running -a program, especially before software releases, attaching a copy of the license -at the top of every file released. +This license is concise and clearly permits any person obtaining our +product to use it without limitation. The open, clear language removes +any chance of a licensing controversy. It allows commercial entities +and the project partners in particular to incorporate code and results +into commercial or non-commercial projects. + +The consortium did consider using the GPL license for protection from a +commercial takeover. We regognise that there is some risk that the +results of our project would be subject to an "embrace and extend" +strategy or another form of hostile takeover, especially if the project +is a great success. + +However, we will not reach the adoption necessary for such a scenario to +be likely unless we manage to get widespread adoption both within and +outside the present Python community. Before we can get any adoption +outside the Python community, we have to win the hearts of people on the +inside. These people - especially the portal figures - have a strong +preference for MIT license models and lack enthusiasm for the GPL. + +Also, a takeover attempt is not necessarily successful and the Python +world is probably more resilient to such tries than most other +communities, since it is more strongly integrated and collaboratively +focused than other comparable groups. + +Management of intellectual property consists of a posting the license on +the website or wherever source code is available, and periodically +running a program, especially before software releases, to check that +the license is properly refered to from each file. The only other intellectual property which we will produce are scientific papers, talks, and the like. They will all be freely Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 19:26:03 2004 @@ -156,23 +156,31 @@ **Action: The DoW will include a justification of the license chosen. Compatibility with the GPL will be addressed.** -The chapter in B3.0 Impact chapter which mentioned licensing has been extended to -cover a short discussion of choosing the MIT license over the GPL. While -all consortium partners commit to produce source code always under an MIT -license the project explicitely reserves the right to include GPLed software. -In the latter case some versions of PyPy might have to be released under -a GPL license. If PyPy becomes the basis of Python 3000, there may be -some pressure to release this under the Python license. If we develop -under the MIT license, then we are most flexible in this regard. Committing -to a GPL license would drastically reduce our ability to become the basis -of Python 3000, since the CPython developers have already rejected the -GPL as the license for developing Python. +The chapter in B3.0 Impact chapter which mentioned licensing has been +extended to cover a short discussion of choosing the MIT license over +the GPL. + +In summary, the risk of a complete "hostile takeover" from some +commercial company is low considering the partners and the communities +involved. However, our results and source code can be freely used from +GPL licensed projects. + +While all consortium partners commit to produce source code and results +always under an MIT license the project explicitely reserves the right +to *include* GPLed software. In the latter case some versions of PyPy +might have to be released under a GPL license. If PyPy becomes the +basis of Python 3000, there may be some pressure to release PyPy under +the Python license. If we develop under the MIT license, then we remain +compatible to the bsd-like Python license. In contrast, using a GPL +license would drastically reduce our ability to become the basis of +Python 3000, since the CPython developers have already rejected the GPL +as the license for developing Python. **Action: The DoW will be modified to avoid this [user] confusion.** -The complete DoW has been clarified accordingly. Mainly end-users -of the PyPy STREP will be language integrators and researchers. -Please note especially, that Users of Applications running on top of PyPy -are not refered to as "End users" but - if neccessary - as "application users". -The PyPy implementation is planned to be useful to end-users and all application -users. +The complete DoW has been clarified accordingly. End-users of the PyPy +STREP are language integrators and researchers. The line between beeing +an end-user and a contributor to the project is designed to be easy to cross +thus contributing to effective mobilization of resources. Nevertheless, The PyPy +implementation is indirectly useful to all users running applications (especially +novel ones) on top of PyPy. From arigo at codespeak.net Thu Apr 1 19:50:59 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 19:50:59 +0200 (MEST) Subject: [pypy-svn] r3650 - pypy/trunk/doc/funding Message-ID: <20040401175059.192385A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 19:50:58 2004 New Revision: 3650 Modified: pypy/trunk/doc/funding/project_gantt.png Log: Updated. Modified: pypy/trunk/doc/funding/project_gantt.png ============================================================================== Binary files. No diff available. From tismer at codespeak.net Thu Apr 1 19:59:39 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Thu, 1 Apr 2004 19:59:39 +0200 (MEST) Subject: [pypy-svn] r3651 - pypy/trunk/doc/funding Message-ID: <20040401175939.AEFA65A142@thoth.codespeak.net> Author: tismer Date: Thu Apr 1 19:59:39 2004 New Revision: 3651 Modified: pypy/trunk/doc/funding/endorsements.asc Log: reworked endorsements.asc for proper formatting Modified: pypy/trunk/doc/funding/endorsements.asc ============================================================================== --- pypy/trunk/doc/funding/endorsements.asc (original) +++ pypy/trunk/doc/funding/endorsements.asc Thu Apr 1 19:59:39 2004 @@ -1,68 +1,57 @@ - -- - Kaval Wireless Technologies Inc. uses Python in a variety of ways + *Kaval Wireless Technologies Inc. uses Python in a variety of ways in the development and production of its wireless coverage extension systems, as well as using it in some of the products themselves. The PyPy project holds great promise for improving the performance and cross-platform nature of the Python environment, and I look forward - to seeing those improvements occur. - - Peter Hansen, P.Eng. - Director, Software Engineering, - Kaval Wireless Technologies Inc. + to seeing those improvements occur.* +(Peter Hansen, P.Eng. +Director, Software Engineering, +Kaval Wireless Technologies Inc.) -- - I'm interested in PyPy because it's about Python, the + *I'm interested in PyPy because it's about Python, the pragmatic language that I use for my business and make my living with, and because it promises pragmatic benefits (performance is my personal - #1, but there is a lot of other potential). + #1, but there is a lot of other potential).* - Martijn Faassen, - Infrae Netherlands +(Martijn Faassen, +Infrae Netherlands) -- - I am one of the main developers of the open source Twisted networking + *I am one of the main developers of the open source Twisted networking framework, which is used by organizations ranging from NASA and California state agencies to individuals and companies in the US, Italy, Sweden, France and the Netherlands. I would like to see PyPy succeed as the result would be a platform that is far superior to competing software platforms, while still being open and not tied to the fortunes - of one or two American corporations. + of one or two American corporations.* - Itamar Shtull-Trauring - Chief Technology Architect, Zoteca +(Itamar Shtull-Trauring, +Chief Technology Architect, Zoteca) -- - I'm an independent software developer and consultant. My current + *I'm an independent software developer and consultant. My current focus is the development of design tools, code generators, and monitoring tools for embedded, distributed, real-time systems (often applied in safety-critical domains). I have been using - Python with great success for these application domains. + Python with great success for these application domains.* - A successful PyPy would increase the benefits of using Python: + *A successful PyPy would increase the benefits of using Python:* - - it would allow me to even more functionality into + - *it would allow me to even more functionality into Python and further reduce the amount of C code needed for the - on-line part of such systems (which is running on PC-class HW). - - - it might allow to replace (some but not nearly all) C code in - the embedded parts of such systems. - - - it might substantially improve the performance of the design - tools and code generators. - - Christian Tanzer - -- - As a vendor of development tools for Python programmers, we support PyPy - as an important step towards advancing the technology behind Python - programming language + on-line part of such systems (which is running on PC-class HW).* - Stephan Deibel, CEO - Archaeopteryx Software, Inc. + - *it might allow to replace (some but not nearly all) C code in + the embedded parts of such systems.* + - *it might substantially improve the performance of the design + tools and code generators.* +(Christian Tanzer) + *As a vendor of development tools for Python programmers, we support PyPy + as an important step towards advancing the technology behind Python + programming language.* +(Stephan Deibel, CEO +Archaeopteryx Software, Inc.) From jacob at codespeak.net Thu Apr 1 19:59:58 2004 From: jacob at codespeak.net (jacob at codespeak.net) Date: Thu, 1 Apr 2004 19:59:58 +0200 (MEST) Subject: [pypy-svn] r3652 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401175958.742815A4D1@thoth.codespeak.net> Author: jacob Date: Thu Apr 1 19:59:57 2004 New Revision: 3652 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Filled in the A3. Removed MPI (though traces remain due to bugs in the CPF program). Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Thu Apr 1 19:59:57 2004 @@ -12,6 +12,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -81,6 +83,8 @@ + + ]]> @@ -95,7 +99,7 @@ - + python programming platform interpreter compiler jit Main goalsThe project will research and implement a flexible, configurable and performant version of Python, a popular Free/Open Source programming language. Much anecdotal, and some empirical, evidence suggests that Python is one of the easiest programming languages to learn and is one of the languages in which one can code up a given algorithm the fastest. The project aims to bring this highly productive language to a wider range of platforms and devices by providing simple means to build a highly customized language version.The approach The project will achieve its goals principally by leveraging excellent research and the strengths of Open Source developer communities. In particular, it will explore and refine Sprint Driven Development, an agile rapid development method pioneered by Python communities in Europe. Sprints accelerate an already productive open development process by intensifying communication and feedback cycles for programmers and researchers. This process will also involve an existing non-profit organisation of Python firms to bind business communities into research and implementation of a unique runtime environment. Technically, the project will refine and implement innovative approaches to language implementation, based on object spaces and abstract interpretation.Concrete resultsThe new Python will maintain the semantics of the current implementation but will be more portable, more easily customised and extended, more efficient, and it will cover more programming paradigms in a way that respects the simplicity of the underlying language. In addition, the project will document and refine existing open source development models in the Python community. Although targetted principally at Python, most of the research results will be applicable to other high level languages. IST-2002-2.3.2.3 @@ -127,6 +131,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -300,6 +306,8 @@ + + ]]> @@ -398,51 +406,6 @@ 004779 PYPY - 3 - MAX-PLANCK INSTITUT FUER INFEKCTIONSBIOLOGIE - - MPIIB - - Schumannstrasse 21/22 - 10117 - DE - Berlin - - - HES - N - - - - - - - - 0 - 0 - - 0 - - - - - AC - - - - - - - - - - 888008414 - N - - - - 004779 - PYPY 4 PYTHON BUSINESS FORUM 802416-4793 @@ -467,7 +430,7 @@ 1000 100 - 1 + 0 0 0 0 @@ -598,14 +561,14 @@ - 160 - 50 + 160000 + 50000 2003 0 2 - - - + 0 + 0 + 0 FC PRIV @@ -642,7 +605,7 @@ - 30/124/04270 + 150038 0 2000 @@ -780,6 +743,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -964,6 +929,8 @@ + + ]]> @@ -1075,12 +1042,12 @@ 004779 3 - - - - - - + N/A + N/A + N/A + F + N/A + N/A @@ -1089,21 +1056,21 @@ - Molecular Biology + N/A - - - - - - + N/A + N/A + N/A + M + N/A + N/A - + N @@ -1113,9 +1080,9 @@ - + N/A - + N/A 0 @@ -1233,7 +1200,7 @@ Mr M +33145320312 - + N/A nicolas.chauvat at logilab.fr @@ -1254,7 +1221,7 @@ Mr M +33145320312 - + N/A Y @@ -1307,7 +1274,7 @@ +46 31 7750940 +46 31 7750941 - + N @@ -1504,6 +1471,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1613,6 +1582,8 @@ + + ]]> @@ -1645,18 +1616,6 @@ 004779 PYPY - 3 - MAX-PLANCK INSTITUT FUER INFEKCTIONSBIOLOGIE - - - - - - - - - 004779 - PYPY 4 PYTHON BUSINESS FORUM Hall?n @@ -1709,8 +1668,8 @@ Dipl.Inf. Holger Krekel Krekel - holger - N + Holger + Y @@ -1722,7 +1681,7 @@ Martelli Alessandro - + Y @@ -1734,7 +1693,7 @@ Tismer Christian - + Y @@ -1763,6 +1722,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1900,6 +1861,8 @@ + + ]]> @@ -1911,12 +1874,12 @@ 1 DFKI FC - 158 - 79 + 260500 + 130250 0 0 - 39 - 39 + 39200 + 39200 0 0 0 @@ -1932,29 +1895,8 @@ 2 UOS AC - 192 - 192 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - 004779 - PYPY - 3 - MPIIB - AC - 0 - 0 + 220500 + 220500 0 0 0 @@ -1974,13 +1916,13 @@ 4 PBF AC - 713 - 713 + 94060 + 94060 0 0 0 0 - 0 + 35000 0 0 0 @@ -1995,18 +1937,18 @@ 5 STRAKT FC - 276 - 138 + 395000 + 237800 0 0 - 34 - 34 + 27300 + 34000 0 - 0 + 80600 0 0 0 - 0 + 6700 0 @@ -2016,8 +1958,8 @@ 6 LOGILAB FC - 192 - 96 + 295680 + 147840 0 0 0 @@ -2037,12 +1979,12 @@ 7 CM FC - 76 - 38 + 90400 + 45200 0 0 - 21 - 21 + 21200 + 21200 0 0 0 @@ -2058,14 +2000,14 @@ 8 Holger Krekel FCF - 0 - 0 + 226000 + 135600 0 0 0 0 0 - 0 + 45200 0 0 0 @@ -2079,14 +2021,14 @@ 9 Alex Martelli FCF - 0 - 0 + 142000 + 85200 0 0 0 0 0 - 0 + 28400 0 0 0 @@ -2100,14 +2042,14 @@ 10 Christian Tismer FCF - 0 - 0 + 270250 + 162150 0 0 0 0 0 - 0 + 54050 0 0 0 @@ -2140,6 +2082,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2192,6 +2136,8 @@ + + ]]> @@ -2292,6 +2238,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2475,6 +2423,8 @@ + + ]]> @@ -2548,6 +2498,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2626,6 +2578,8 @@ + + ]]> @@ -2662,20 +2616,6 @@ 004779 PYPY - 3 - - - - - - - - - - - - 004779 - PYPY 4 @@ -2796,6 +2736,8 @@ + + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -3095,6 +3037,8 @@ + + ]]> @@ -3243,76 +3187,6 @@ 004779 PYPY - 3 - - - - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - 004779 - PYPY 4 From hpk at codespeak.net Thu Apr 1 20:12:37 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 20:12:37 +0200 (MEST) Subject: [pypy-svn] r3653 - pypy/trunk/doc/funding Message-ID: <20040401181237.786055A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 20:12:36 2004 New Revision: 3653 Modified: pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt Log: - a more detailed WP13 - also added a publication deliverable Modified: pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt Thu Apr 1 20:12:36 2004 @@ -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,14 +34,24 @@ **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 @@ -51,7 +60,8 @@ - D13.1 A release of PyPy with all available optimization 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 From arigo at codespeak.net Thu Apr 1 20:15:18 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 20:15:18 +0200 (MEST) Subject: [pypy-svn] r3654 - pypy/trunk/doc/funding Message-ID: <20040401181518.8E3BB5A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 20:15:17 2004 New Revision: 3654 Modified: pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt Log: Extended the task descriptions. Modified: pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt Thu Apr 1 20:15:17 2004 @@ -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,31 +35,51 @@ **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 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 optimizations. + +- 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 + optimizations can help the translator. + +- Create reports and merge the results back into the optimization effort. + As of general interest, submit the reports as publication. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc **Deliverables** -- D07.1 Release a version of PyPy that supports real-time massive parallelism +- 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 -- D07.3 Report on approaches for memory management and object implementations for high performance PyPy +- 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 From jacob at codespeak.net Thu Apr 1 20:18:50 2004 From: jacob at codespeak.net (jacob at codespeak.net) Date: Thu, 1 Apr 2004 20:18:50 +0200 (MEST) Subject: [pypy-svn] r3655 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401181850.05A415A142@thoth.codespeak.net> Author: jacob Date: Thu Apr 1 20:18:50 2004 New Revision: 3655 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Minor fixes Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Thu Apr 1 20:18:50 2004 @@ -14,6 +14,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -85,6 +86,7 @@ + ]]> @@ -133,6 +135,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -308,6 +311,7 @@ + ]]> @@ -529,10 +533,10 @@ PRIV - - + N + N C - + Software developer 888001868 N @@ -745,6 +749,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -931,6 +936,7 @@ + ]]> @@ -1325,7 +1331,7 @@ +49 5121 47247 +49 5121 691082 - Y + N @@ -1337,7 +1343,7 @@ senior consultant - sole owner + Sole owner N 0 N @@ -1473,6 +1479,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1584,6 +1591,7 @@ + ]]> @@ -1597,7 +1605,7 @@ - + N @@ -1724,6 +1732,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1863,6 +1872,7 @@ + ]]> @@ -2084,6 +2094,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2138,6 +2149,7 @@ + ]]> @@ -2240,6 +2252,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2425,6 +2438,7 @@ + ]]> @@ -2500,6 +2514,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2580,6 +2595,7 @@ + ]]> @@ -2738,6 +2754,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -3039,6 +3056,7 @@ + ]]> From tismer at codespeak.net Thu Apr 1 20:23:41 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Thu, 1 Apr 2004 20:23:41 +0200 (MEST) Subject: [pypy-svn] r3656 - pypy/trunk/doc/funding/makedoc Message-ID: <20040401182341.59CC35A142@thoth.codespeak.net> Author: tismer Date: Thu Apr 1 20:23:40 2004 New Revision: 3656 Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw Log: tried to add a PDF. If this works, then something is funny... Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw ============================================================================== Binary files. No diff available. From hpk at codespeak.net Thu Apr 1 20:42:13 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 20:42:13 +0200 (MEST) Subject: [pypy-svn] r3657 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401184213.28A2E5A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 20:42:13 2004 New Revision: 3657 Added: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf (contents, props changed) Log: and another try to checkin Christian's pdf Added: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary file. No diff available. From tismer at codespeak.net Thu Apr 1 20:49:34 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Thu, 1 Apr 2004 20:49:34 +0200 (MEST) Subject: [pypy-svn] r3658 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401184934.928C45A142@thoth.codespeak.net> Author: tismer Date: Thu Apr 1 20:49:33 2004 New Revision: 3658 Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf Log: testwise commiting an almost unchanged file Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary files. No diff available. From hpk at codespeak.net Thu Apr 1 20:56:01 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 20:56:01 +0200 (MEST) Subject: [pypy-svn] r3659 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401185601.2D8FC5A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 20:56:00 2004 New Revision: 3659 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: some more rephrasing on the consortium restructuring Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 20:56:00 2004 @@ -30,13 +30,13 @@ **Action: in first instance no workpackages should be removed as savings should be obtained through economizing the work planning.** -The consortium has now revisited each work package description -and has provided a much better and more consistent work plan. We were -able to retain all Workpackages and were more specific -about the exact deliverables and tasks. It was also necessary to -reduce the scope of some of the work packages. Each of the partners -in the consortium now has to accept a much higher risk and responsbility -for producing all deliverables with the reduced resources. +The consortium has now revisited each work package description and has +provided a much better, more consistent and more detailed work plan. We +were able to retain all Workpackages but were more specific about the +exact deliverables and tasks. It was also necessary to reduce the scope +of some of the work packages. But primarily each of the partners in the +consortium now has to accept a much higher risk and responsbility for +efficiently producing all deliverables with the reduced resources. The consortium intends to interact early and often with specific communities and individuals. This should effectively mobilise our resources. From pedronis at codespeak.net Thu Apr 1 21:07:45 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Thu, 1 Apr 2004 21:07:45 +0200 (MEST) Subject: [pypy-svn] r3660 - pypy/trunk/doc/funding Message-ID: <20040401190745.6B5635A142@thoth.codespeak.net> Author: pedronis Date: Thu Apr 1 21:07:44 2004 New Revision: 3660 Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Log: fix time/partner alllocation Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Thu Apr 1 21:07:44 2004 @@ -4,7 +4,7 @@ .. |wp| replace:: WP02 .. |start| replace:: 0 .. |p1| replace:: Krekel -.. |m1| replace:: 12 +.. |m1| replace:: 10 .. |p2| replace:: |e| .. |m2| replace:: |e| .. |p3| replace:: |e| From pedronis at codespeak.net Thu Apr 1 21:11:46 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Thu, 1 Apr 2004 21:11:46 +0200 (MEST) Subject: [pypy-svn] r3661 - pypy/trunk/doc/funding Message-ID: <20040401191146.E65E65A142@thoth.codespeak.net> Author: pedronis Date: Thu Apr 1 21:11:46 2004 New Revision: 3661 Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt Log: fix time/partner alllocation Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp05_translation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp05_translation.txt Thu Apr 1 21:11:46 2004 @@ -8,7 +8,7 @@ .. |p2| replace:: DFKI .. |m2| replace:: 2 .. |p3| replace:: USH -.. |m3| replace:: 9 +.. |m3| replace:: 8 .. |p4| replace:: Tismer .. |m4| replace:: 2 .. |p5| replace:: Krekel From pedronis at codespeak.net Thu Apr 1 21:13:49 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Thu, 1 Apr 2004 21:13:49 +0200 (MEST) Subject: [pypy-svn] r3662 - pypy/trunk/doc/funding Message-ID: <20040401191349.9DEDE5A142@thoth.codespeak.net> Author: pedronis Date: Thu Apr 1 21:13:48 2004 New Revision: 3662 Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Log: fix time/partner alllocation Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Thu Apr 1 21:13:48 2004 @@ -6,7 +6,7 @@ .. |p1| replace:: STRAKT .. |m1| replace:: 17 .. |p2| replace:: Tismer -.. |m2| replace:: 3 +.. |m2| replace:: 2 .. |p3| replace:: USH .. |m3| replace:: 6 .. |p4| replace:: |e| From alastair at codespeak.net Thu Apr 1 21:48:15 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Thu, 1 Apr 2004 21:48:15 +0200 (MEST) Subject: [pypy-svn] r3663 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401194815.891AE5A142@thoth.codespeak.net> Author: alastair Date: Thu Apr 1 21:48:14 2004 New Revision: 3663 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Tidying up. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Thu Apr 1 21:48:14 2004 @@ -12,9 +12,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -84,9 +81,6 @@ - - - ]]> @@ -98,10 +92,11 @@ PYPY: Researching a Highly Flexible and Modular Language Platform and Implementing it by Leveraging the Open Source Python Language and Community 24 FP6-2003-IST-2 - - - - python programming platform interpreter compiler jit + Computer technology + Middleware + Artificial intelligence + Open source +Compilers Main goalsThe project will research and implement a flexible, configurable and performant version of Python, a popular Free/Open Source programming language. Much anecdotal, and some empirical, evidence suggests that Python is one of the easiest programming languages to learn and is one of the languages in which one can code up a given algorithm the fastest. The project aims to bring this highly productive language to a wider range of platforms and devices by providing simple means to build a highly customized language version.The approach The project will achieve its goals principally by leveraging excellent research and the strengths of Open Source developer communities. In particular, it will explore and refine Sprint Driven Development, an agile rapid development method pioneered by Python communities in Europe. Sprints accelerate an already productive open development process by intensifying communication and feedback cycles for programmers and researchers. This process will also involve an existing non-profit organisation of Python firms to bind business communities into research and implementation of a unique runtime environment. Technically, the project will refine and implement innovative approaches to language implementation, based on object spaces and abstract interpretation.Concrete resultsThe new Python will maintain the semantics of the current implementation but will be more portable, more easily customised and extended, more efficient, and it will cover more programming paradigms in a way that respects the simplicity of the underlying language. In addition, the project will document and refine existing open source development models in the Python community. Although targetted principally at Python, most of the research results will be applicable to other high level languages. IST-2002-2.3.2.3 @@ -133,9 +128,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -309,9 +301,6 @@ - - - ]]> @@ -340,10 +329,10 @@ DE148646973 - 14 - 30 + 14.000.000,00 + 30.000.000,00 2002 - 14 + 14.000.000,00 277 137 26 @@ -385,11 +374,11 @@ GB568630414 - 0 - 0 + ,00 + ,00 - 0 - 0 + ,00 + 1202 405 797 @@ -430,11 +419,11 @@ - 1000 - 1000 + 1.000,00 + 1.000,00 - 100 - 0 + 100,00 + 1 0 0 0 @@ -475,10 +464,10 @@ 556609-2473 - 1100000 - 4800000 + 1.100.000,00 + 4.800.000,00 2003 - 800000 + 800.000,00 17 12 1 @@ -520,10 +509,10 @@ FR09 432 746 19 - 0 - 0 + ,00 + ,00 - 0 + ,00 10 9 1 @@ -565,14 +554,14 @@ - 160000 - 50000 + 160.000,00 + 50.000,00 2003 - 0 + ,00 2 0 - 0 - 0 + 1 + 1 FC PRIV @@ -610,10 +599,10 @@ - 150038 - 0 + 150.038,00 + ,00 2000 - 10000 + 10.000,00 1 1 0 @@ -655,10 +644,10 @@ 0224 225 1201 - 130000 - 0 + 130.000,00 + ,00 2003 - 10000 + 10.000,00 1 1 0 @@ -700,10 +689,10 @@ - 135959 - 0 + 135.959,00 + ,00 2001 - 10000 + 10.000,00 1 1 0 @@ -747,9 +736,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -934,9 +920,6 @@ - - - ]]> @@ -988,7 +971,7 @@ CFO Project Leader - 0 + ,00 @@ -1039,58 +1022,7 @@ ACADEMIC STAFF - 0 - - - - - - 004779 - - 3 - N/A - N/A - N/A - F - N/A - N/A - - - - - - - - - N/A - - - - - - - N/A - N/A - N/A - M - N/A - N/A - - N - - - - - - - - - - N/A - - N/A - - 0 + ,00 @@ -1141,7 +1073,7 @@ SIG Chair - 0 + ,00 @@ -1192,7 +1124,7 @@ CTO - 0 + ,00 @@ -1243,7 +1175,7 @@ President and CEO - 0 + ,00 @@ -1294,7 +1226,7 @@ Project Leader - 0 + ,00 @@ -1345,7 +1277,7 @@ Sole owner N - 0 + ,00 N @@ -1396,7 +1328,7 @@ Sole owner - 0 + ,00 @@ -1447,7 +1379,7 @@ Sole owner N - 0 + ,00 N @@ -1477,9 +1409,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1589,9 +1518,6 @@ - - - ]]> @@ -1602,11 +1528,11 @@ PYPY 1 DEUTSCHES FORSCHUNGSZENTRUM FUER KUENSTLICHE INTELLIGENZ GMBH - + Olthoff - + Walter N - + No change in legal status since documents last presented to the EU @@ -1615,7 +1541,7 @@ 2 THE UNIVERSITY OF SOUTHAMPTON Fretton - 08-03-2004 + Michael @@ -1662,9 +1588,9 @@ PYPY 7 CHANGE MAKER - + Loyche - + Tom @@ -1730,9 +1656,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1870,9 +1793,6 @@ - - - ]]> @@ -1884,19 +1804,19 @@ 1 DFKI FC - 260500 - 130250 - 0 - 0 - 39200 - 39200 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 260.500,00 + 130.250,00 + ,00 + ,00 + 39.200,00 + 39.200,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -1905,19 +1825,19 @@ 2 UOS AC - 220500 - 220500 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 220.500,00 + 220.500,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -1926,19 +1846,19 @@ 4 PBF AC - 94060 - 94060 - 0 - 0 - 0 - 0 - 35000 - 0 - 0 - 0 - 0 - 0 - 0 + 94.060,00 + 94.060,00 + ,00 + ,00 + ,00 + ,00 + 35.000,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -1947,19 +1867,19 @@ 5 STRAKT FC - 395000 - 237800 - 0 - 0 - 27300 - 34000 - 0 - 80600 - 0 - 0 - 0 - 6700 - 0 + 395.000,00 + 237.800,00 + ,00 + ,00 + 27.300,00 + 34.000,00 + ,00 + 80.600,00 + ,00 + ,00 + ,00 + 6.700,00 + ,00 @@ -1968,19 +1888,19 @@ 6 LOGILAB FC - 295680 - 147840 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 295.680,00 + 147.840,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -1989,19 +1909,19 @@ 7 CM FC - 90400 - 45200 - 0 - 0 - 21200 - 21200 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + 90.400,00 + 45.200,00 + ,00 + ,00 + 21.200,00 + 21.200,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -2010,19 +1930,19 @@ 8 Holger Krekel FCF - 226000 - 135600 - 0 - 0 - 0 - 0 - 0 - 45200 - 0 - 0 - 0 - 0 - 0 + 226.000,00 + 135.600,00 + ,00 + ,00 + ,00 + ,00 + ,00 + 45.200,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -2031,19 +1951,19 @@ 9 Alex Martelli FCF - 142000 - 85200 - 0 - 0 - 0 - 0 - 0 - 28400 - 0 - 0 - 0 - 0 - 0 + 142.000,00 + 85.200,00 + ,00 + ,00 + ,00 + ,00 + ,00 + 28.400,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -2052,19 +1972,19 @@ 10 Christian Tismer FCF - 270250 - 162150 - 0 - 0 - 0 - 0 - 0 - 54050 - 0 - 0 - 0 - 0 - 0 + 270.250,00 + 162.150,00 + ,00 + ,00 + ,00 + ,00 + ,00 + 54.050,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -2092,9 +2012,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2147,9 +2064,6 @@ - - - ]]> @@ -2160,39 +2074,29 @@ PYPY 1 1 - - 0 - 0 + 5 + ,00 + ,00 004779 PYPY 2 - - - 0 - 0 - - - - 004779 - PYPY - 3 - - - 0 - 0 + 6 + 11 + ,00 + ,00 004779 PYPY 4 - - - 0 - 0 + 18 + 23 + ,00 + ,00 @@ -2201,8 +2105,8 @@ 5 - 0 - 0 + ,00 + ,00 @@ -2211,8 +2115,8 @@ 6 - 0 - 0 + ,00 + ,00 @@ -2221,8 +2125,8 @@ 7 - 0 - 0 + ,00 + ,00 @@ -2250,9 +2154,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2436,9 +2337,6 @@ - - - ]]> @@ -2512,9 +2410,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2593,9 +2488,6 @@ - - - ]]> @@ -2607,11 +2499,11 @@ 1 N N - - + N + Y CASCOM 511632 - - + Olthoff + Walter @@ -2619,13 +2511,13 @@ 004779 PYPY 2 - - - - + N + N + N + N - - + Fretton + Michael @@ -2633,13 +2525,13 @@ 004779 PYPY 4 - - - - + N + N + N + N - - + Hallen + Jacob @@ -2647,13 +2539,13 @@ 004779 PYPY 5 - - - - + N + N + N + N - - + Olsson + Per-Ake @@ -2666,8 +2558,8 @@ N Y - - + Chauvat + Nicolas @@ -2675,13 +2567,13 @@ 004779 PYPY 7 - - - - + N + N + N + N - - + Loyche + Tom @@ -2689,13 +2581,13 @@ 004779 PYPY 8 - - - - + N + N + N + N - - + Krekel + Holger @@ -2703,10 +2595,10 @@ 004779 PYPY 9 - - - - + N + N + N + N @@ -2752,9 +2644,6 @@ - - - release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -3054,9 +2943,6 @@ - - - ]]> @@ -3072,64 +2958,64 @@ 12 N EUR - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + ,00 + ,00 + 61.607,00 + 89.860,57 + 4.362.341,00 + 5.031.956,77 + 2.000.830,93 + 2.000.830,93 + 19.064.270,31 + 11.971.658,98 + 959.503,87 + 613.503,47 + ,00 + ,00 + 3.268.970,00 + 4.941.600,75 + 553.631,50 + 472.911,42 + 572.000,00 + 562.421,07 + 4.231.354,14 + 3.713.416,21 + ,00 + ,00 + 213.071,11 + 544.777,22 + 2.216.757,01 + 2.586.629,21 + 1.988.536,85 + 2.110.407,60 + 20.927.564,75 + 15.489.147,47 + 121.870,75 + 115.524,16 + 7.109.860,24 + 7.080.140,35 + 7.098.124,34 + 5.872.995,43 + 1.309.973,39 + 1.479.339,67 + 23.684,72 + 92.239,46 + 2.577.271,20 + 2.181.684,71 + 11.674.608,66 + 10.955.088,18 + 1.020.577,56 + 1.156.248,09 + 157.695,38 + 400.326,90 + 122.919,05 + 116.335,84 + ,00 + ,00 + 152.284,78 + 282.781,28 + 222.645,12 + 110.477,85 @@ -3142,64 +3028,64 @@ - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -3212,64 +3098,64 @@ - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -3282,64 +3168,64 @@ - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -3352,64 +3238,64 @@ 22 Y EUR - 0 - 0 - 0 - 0 - 759 - 1 - 4 - 4 - 0 - 0 - 0 - 4 - 10 - 0 - 1 - 7 - 0 - 0 - 50 - 50 - 0 - 0 - -12 - 0 - 964 - -12 - 0 - 0 - 0 - 0 - 8 - 8 - 0 - 563 - 31 - 22 - 0 - 0 - 0 - 0 - 93 - 98 - 6 - 74 - 24 - 15 - 0 - 0 - 120 - 3 - 0 - 0 - 0 - 63 - -2 - 43 - 0 - 0 + ,00 + ,00 + ,00 + ,00 + 759,00 + 1,00 + 4,00 + 4,00 + ,00 + ,00 + ,00 + 4,00 + 10,00 + ,00 + 1,00 + 7,00 + ,00 + ,00 + 50,00 + 50,00 + ,00 + ,00 + -12,00 + ,00 + 964,00 + -12,00 + ,00 + ,00 + ,00 + ,00 + 8,00 + 8,00 + ,00 + 563,00 + 31,00 + 22,00 + ,00 + ,00 + ,00 + ,00 + 93,00 + 98,00 + 6,00 + 74,00 + 24,00 + 15,00 + ,00 + ,00 + 120,00 + 3,00 + ,00 + ,00 + ,00 + 63,00 + -2,00 + 43,00 + ,00 + ,00 @@ -3422,64 +3308,64 @@ - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -3492,64 +3378,64 @@ - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 @@ -3562,134 +3448,64 @@ - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - - - - 004779 - PYPY - 10 - - - - - - - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 - 0 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 + ,00 From hpk at codespeak.net Thu Apr 1 21:48:19 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 21:48:19 +0200 (MEST) Subject: [pypy-svn] r3664 - pypy/trunk/doc/funding Message-ID: <20040401194819.C9E945AFCD@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 21:48:18 2004 New Revision: 3664 Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Log: Bea is not there so we agreed that i try to update WP14 (it is one of the most resource intensive WPs!) by providing a lot more details. PLEASE CHECK IF THIS MAKES SENSE TO YOU. Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp14_documentation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Thu Apr 1 21:48:18 2004 @@ -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,23 +34,54 @@ **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" + +- In cooperation with all other participants, present a detailed joint report + to the commission about agile methodologies employed by the project. + +- Ensure that all reports and publications 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. +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. . +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. + +- Multiple Workshops should be organized during the course of the PyPy STREP + to allow for adaptation of details on specific feedback issues. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc @@ -61,14 +92,19 @@ - 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 +- D15.5 Organize three Workshops with various business and research + communities. Reports about these workshops. .. 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. +Useful feedback on the practical flexibilty 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 From hpk at codespeak.net Thu Apr 1 21:52:53 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 21:52:53 +0200 (MEST) Subject: [pypy-svn] r3666 - pypy/trunk/doc/funding Message-ID: <20040401195253.3225B5A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 21:52:52 2004 New Revision: 3666 Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Log: added a "tutorial/guide through source code deliverable" to trace the tasks more correctly Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp14_documentation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Thu Apr 1 21:52:52 2004 @@ -89,10 +89,11 @@ **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 -- D15.5 Organize three Workshops with various business and research +- 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 +- D15.6 Organize three Workshops with various business and research communities. Reports about these workshops. .. include:: wp-tableend.asc From hpk at codespeak.net Thu Apr 1 21:59:33 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 21:59:33 +0200 (MEST) Subject: [pypy-svn] r3667 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401195933.956A95A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 21:59:32 2004 New Revision: 3667 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - updated the responses with respect to WP14 and some other bits i got from the last hours. there STILL are some things missing or not consistent like the "coordination model" WP09/WP10/WP11 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Thu Apr 1 21:59:32 2004 @@ -78,9 +78,8 @@ line stating the body text should be considered.** We have now fully traced especially the B1 objectives and B6.0 detailed implementation -chapters in the Workpackage descriptions and deliverables. - -TOBECOMPLETED +chapters in all Workpackage descriptions and deliverables. Task descriptions +are now more specific and detailed and according deliverables have been added. **Action: An explanation on how the envisaged work goes beyond the @@ -118,7 +117,7 @@ **Action: Rename the first phase.** -The first phase has been renamed to "Providing a novel language research tool". +The first phase has been renamed to "Building a flexible interpreter". **Action: The DoW will be modified to clarify this [multithreading] issue**. @@ -152,7 +151,9 @@ WP14_ and WP11_ now define explicit workshops and dissmentiation activities. Moreover, several reports and publications have been explicitely added to all Work Packages. The B6.0 and B1.0 already mentioned various dissemination -activities which are now fully traced in the DoW tasks and deliverables. +activities which are now fully traced in the DoW tasks and deliverables. Special +care has been taken that the research report, publication and workshop deliverables will +be disseminated to non-python communities. **Action: The DoW will include a justification of the license chosen. Compatibility with the GPL will be addressed.** From bea at codespeak.net Thu Apr 1 22:14:37 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Thu, 1 Apr 2004 22:14:37 +0200 (MEST) Subject: [pypy-svn] r3668 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401201437.2D4155A142@thoth.codespeak.net> Author: bea Date: Thu Apr 1 22:14:37 2004 New Revision: 3668 Modified: pypy/trunk/doc/funding/negotiations/Pypy-TA.sxw Log: Modified: pypy/trunk/doc/funding/negotiations/Pypy-TA.sxw ============================================================================== Binary files. No diff available. From jacob at codespeak.net Thu Apr 1 22:25:55 2004 From: jacob at codespeak.net (jacob at codespeak.net) Date: Thu, 1 Apr 2004 22:25:55 +0200 (MEST) Subject: [pypy-svn] r3669 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401202555.BFE735A142@thoth.codespeak.net> Author: jacob Date: Thu Apr 1 22:25:55 2004 New Revision: 3669 Modified: pypy/trunk/doc/funding/negotiations/A3_draft.xls pypy/trunk/doc/funding/negotiations/pypycuts.xls Log: Revised man months Modified: pypy/trunk/doc/funding/negotiations/A3_draft.xls ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/pypycuts.xls ============================================================================== Binary files. No diff available. From arigo at codespeak.net Thu Apr 1 22:32:25 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 22:32:25 +0200 (MEST) Subject: [pypy-svn] r3670 - pypy/trunk/doc/funding Message-ID: <20040401203225.999855A3FD@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 22:32:24 2004 New Revision: 3670 Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Log: Add the various levels at which PyPy can be disseminated, according to the new B1.0 Beyond state of the art section. Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp14_documentation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Thu Apr 1 22:32:24 2004 @@ -66,7 +66,10 @@ **Task 4** -Prepare and organize workshops with special interested groups. . +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 @@ -101,7 +104,8 @@ **Milestones and Expected Result** -Good documentation and dissemination to multiple business and research communities. +Good documentation and dissemination to multiple business and research +communities through promotion, workshops and conference. Useful feedback on the practical flexibilty of our language research efforts. A better understanding how research and development can be accelerated From arigo at codespeak.net Thu Apr 1 22:58:33 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 22:58:33 +0200 (MEST) Subject: [pypy-svn] r3671 - pypy/trunk/doc/funding Message-ID: <20040401205833.E5E135A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 22:58:33 2004 New Revision: 3671 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: Typo. Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Thu Apr 1 22:58:33 2004 @@ -32,7 +32,7 @@ **Task 1** -Analyze and implement an "restricted execution" or sandbox model at the language +Analyze and implement a "restricted execution" or sandbox model at the language level. (It was removed from the official Python implementation because it was too hard to maintain.) From hpk at codespeak.net Thu Apr 1 23:18:12 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 23:18:12 +0200 (MEST) Subject: [pypy-svn] r3672 - pypy/trunk/doc/funding Message-ID: <20040401211812.CAECE5A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 23:18:12 2004 New Revision: 3672 Modified: pypy/trunk/doc/funding/B0.0_preamble.txt Log: checked in the the new consortium participants list Modified: pypy/trunk/doc/funding/B0.0_preamble.txt ============================================================================== --- pypy/trunk/doc/funding/B0.0_preamble.txt (original) +++ pypy/trunk/doc/funding/B0.0_preamble.txt Thu Apr 1 23:18:12 2004 @@ -65,8 +65,6 @@ ---------------- --------------------------------------------- ----------------------- 2 University of Southampton USH ---------------- --------------------------------------------- ----------------------- -3 Max-Planck Biology Institute MPI ----------------- --------------------------------------------- ----------------------- 4 Python Business Forum PBF ---------------- --------------------------------------------- ----------------------- 5 AB Strakt Strakt @@ -74,6 +72,12 @@ 6 Logilab Logilab ---------------- --------------------------------------------- ----------------------- 7 ChangeMaker ChangeMaker +---------------- --------------------------------------------- ----------------------- +8 Krekel Krekel +---------------- --------------------------------------------- ----------------------- +9 Martelli Martelli +---------------- --------------------------------------------- ----------------------- +10 Tismer Tismer ================ ============================================= ======================= :DELETE:BEGIN From arigo at codespeak.net Thu Apr 1 23:18:22 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Thu, 1 Apr 2004 23:18:22 +0200 (MEST) Subject: [pypy-svn] r3673 - pypy/trunk/doc/funding Message-ID: <20040401211822.DDB315A142@thoth.codespeak.net> Author: arigo Date: Thu Apr 1 23:18:21 2004 New Revision: 3673 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: Developped a bit. Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Thu Apr 1 23:18:21 2004 @@ -32,21 +32,31 @@ **Task 1** -Analyze and implement a "restricted execution" or sandbox model at the language -level. (It was removed from the official Python implementation because it was too +Build a "restricted execution" or sandbox model at the language level. +(It was removed from the official Python implementation because it was too hard to maintain.) +Analyse various approaches in coordination with external specialists +from the industry. 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). **Task 2** -Analyze and implement a distributed execution model at the language level. -Implement network-transparent execution of Python programs. (Typical -libraries require programs to be aware of the remote execution model.) +Build a distributed execution model at the language level by +implementing network-transparent execution of Python programs. (Typical +libraries like the Zope Entreprise Objects (ZEO) require programs to be +aware of the remote execution model.) Analyse existing programming +languages that provide this feature and implement a prototype at the +Object Space level. **Task 3** -Analyze and implement persistence at the language level. Implement an +Build persistence at the language level by implementing an orthogonally persistent object space for Python programs. (Persistence -is never fully orthogonal without advanced language support.) +is never fully orthogonal without advanced language support, as witnessed +by libraries like the Zope Database (ZODB).) .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From bea at codespeak.net Thu Apr 1 23:21:29 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Thu, 1 Apr 2004 23:21:29 +0200 (MEST) Subject: [pypy-svn] r3674 - pypy/trunk/doc/funding Message-ID: <20040401212129.8684D5A142@thoth.codespeak.net> Author: bea Date: Thu Apr 1 23:21:28 2004 New Revision: 3674 Modified: pypy/trunk/doc/funding/B3.impact.txt Log: Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Thu Apr 1 23:21:28 2004 @@ -375,11 +375,15 @@ acquired in the PyPy project we will host two workshops during the project, one after 6 months and the first review workshop and one at the end of the project in which we actively work with interested parties to - analyze potential usage of PyPy process and prototype + analyze potential usage of PyPy process and prototype.We will also host +3 domain specific workshops for SME:s within community, industrial stakeholders + within embedded software community and game developing companies to ensure a + thorough dissemination of possibilities of PyPy usage We will also partake in the following official events, forum, conferences to spread information about the ongoing project, its unique process and -technological impact: +technological impact and thus reaching out to software developers within +the Python community as well as practitioners of other software languages: EuroPython/EuroZope (European Python Conference), ACM/IFIP/USENIX International Middleware Conference, From bea at codespeak.net Thu Apr 1 23:25:03 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Thu, 1 Apr 2004 23:25:03 +0200 (MEST) Subject: [pypy-svn] r3675 - pypy/trunk/doc/funding Message-ID: <20040401212503.8FB445A142@thoth.codespeak.net> Author: bea Date: Thu Apr 1 23:25:02 2004 New Revision: 3675 Modified: pypy/trunk/doc/funding/B6.7.wp01_management.txt Log: Modified: pypy/trunk/doc/funding/B6.7.wp01_management.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp01_management.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp01_management.txt Thu Apr 1 23:25:02 2004 @@ -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 From bea at codespeak.net Thu Apr 1 23:25:38 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Thu, 1 Apr 2004 23:25:38 +0200 (MEST) Subject: [pypy-svn] r3676 - pypy/trunk/doc/funding Message-ID: <20040401212538.123ED5A142@thoth.codespeak.net> Author: bea Date: Thu Apr 1 23:25:37 2004 New Revision: 3676 Modified: pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Log: Modified: pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Thu Apr 1 23:25:37 2004 @@ -22,16 +22,16 @@ **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 WP 13 +( 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. - -**Task 2** - -Choose hardware from Axis Communication. -Validate interpreter on existing hardware. +Write report to Axis showcasing usage of PypY custom version and the build- and configuration tool +Recieve written feedback from Axis regarding content of report. .. 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 Evaluation report to Axis Communication on testresults of performance of minimal interpreter on Axis hardware +- D11.2 Documented feedback from Axis Communication .. 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. +- A confirmed dissemination of the PyPy custom version and the build- and configuration tool +from Axis Communication, a target stakeholder within the embedded sector. .. include:: wp-tableend.asc From bea at codespeak.net Thu Apr 1 23:25:55 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Thu, 1 Apr 2004 23:25:55 +0200 (MEST) Subject: [pypy-svn] r3677 - pypy/trunk/doc/funding Message-ID: <20040401212555.D99925A142@thoth.codespeak.net> Author: bea Date: Thu Apr 1 23:25:54 2004 New Revision: 3677 Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Log: Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp14_documentation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Thu Apr 1 23:25:54 2004 @@ -81,10 +81,12 @@ - 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. + architecture. 2 specific workshops will be arranged in this manner + (during phase 1 and at the end of phase 3). -- Multiple Workshops should be organized during the course of the PyPy STREP - to allow for adaptation of details on specific feedback issues. +- 3 domain specific Workshops will be organized during the course of the PyPy STREP + to allow for adaptation of details on specific feedback issues from specific target + groups (industrial companies, game developing companies and SME:s). .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc @@ -96,8 +98,11 @@ - 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 -- D15.6 Organize three Workshops with various business and research +- D14.6 Organize three domain specific Workshops during phase 3 with various business and research communities. Reports about these workshops. +- D14.7 Arrange 2 nondomain specific workshops disseminating development process + (during phase 1 and after phase 3) +- D14.8 Participate in conferences throughout the project process. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From hpk at codespeak.net Thu Apr 1 23:46:00 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 23:46:00 +0200 (MEST) Subject: [pypy-svn] r3678 - pypy/trunk/doc/funding Message-ID: <20040401214600.1424D5A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 23:46:00 2004 New Revision: 3678 Modified: pypy/trunk/doc/funding/B3.impact.txt pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Log: - fixed typos and rest-problems - slightly reworded WP11 Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Thu Apr 1 23:46:00 2004 @@ -376,7 +376,7 @@ project, one after 6 months and the first review workshop and one at the end of the project in which we actively work with interested parties to analyze potential usage of PyPy process and prototype.We will also host -3 domain specific workshops for SME:s within community, industrial stakeholders + 3 domain specific workshops for SME:s within community, industrial stakeholders within embedded software community and game developing companies to ensure a thorough dissemination of possibilities of PyPy usage Modified: pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Thu Apr 1 23:46:00 2004 @@ -29,8 +29,8 @@ Change Maker, who have an ongoing relation with the company will be an interface between Axis. -The objective is to write a specific report targeting embedded software companies with the results from WP 13 -( usage of PypY custom version and the build- and configuration tool).This report will showcase +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 @@ -40,8 +40,8 @@ **Task 1** -Write report to Axis showcasing usage of PypY custom version and the build- and configuration tool -Recieve written feedback from Axis regarding content of report. +Write report to Axis showcasing usage of PyPy custom version and the build- and configuration tool +Report and analyse feedback from Axis regarding content of report. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc @@ -49,7 +49,6 @@ **Deliverables** - D11.1 Written report to Axis Communication - - D11.2 Documented feedback from Axis Communication .. include:: wp-tableend.asc @@ -57,7 +56,7 @@ **Milestones and Expected Result** -- A confirmed dissemination of the PyPy custom version and the build- and configuration tool +- 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 From hpk at codespeak.net Thu Apr 1 23:47:35 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Thu, 1 Apr 2004 23:47:35 +0200 (MEST) Subject: [pypy-svn] r3679 - pypy/trunk/doc/funding Message-ID: <20040401214735.BD35E5A142@thoth.codespeak.net> Author: hpk Date: Thu Apr 1 23:47:34 2004 New Revision: 3679 Modified: pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Log: another ResT fix Modified: pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Thu Apr 1 23:47:34 2004 @@ -57,6 +57,6 @@ **Milestones and Expected Result** - Dissemination and feedback on the PyPy custom version and the build- and configuration tool -from Axis Communication, a target stakeholder within the embedded sector. + from Axis Communication, a target stakeholder within the embedded sector. .. include:: wp-tableend.asc From pedronis at codespeak.net Fri Apr 2 00:14:54 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Fri, 2 Apr 2004 00:14:54 +0200 (MEST) Subject: [pypy-svn] r3680 - pypy/trunk/doc/funding Message-ID: <20040401221454.333585A142@thoth.codespeak.net> Author: pedronis Date: Fri Apr 2 00:14:53 2004 New Revision: 3680 Modified: pypy/trunk/doc/funding/B4.resources.txt Log: did the change that Bea could not commit Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Fri Apr 2 00:14:53 2004 @@ -393,7 +393,7 @@ group dynamics between the different members. We intend to document and disseminate the management of change throughout the project. Changemaker is also the contact point for Axis Communications, who -will showcase how to integrate PyPy in an embedded device. +will receive a specific report on how to integrate PyPy in an embedded device. Logilab +++++++ From hpk at codespeak.net Fri Apr 2 00:20:10 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Fri, 2 Apr 2004 00:20:10 +0200 (MEST) Subject: [pypy-svn] r3681 - pypy/trunk/doc/funding/negotiations Message-ID: <20040401222010.81CA05A142@thoth.codespeak.net> Author: hpk Date: Fri Apr 2 00:20:09 2004 New Revision: 3681 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - very minor fix for responses Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Fri Apr 2 00:20:09 2004 @@ -144,7 +144,7 @@ Examples are now given in B6.0 to clarify that PyPy aims at providing access and interception points to internals greatly improving performance and practicality of introducing aspects to the language -level. The WP09_ and WP10_ have also been updated accordingly. +level. The WP09_ and WP10_ have been updated accordingly. **Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** From pedronis at codespeak.net Fri Apr 2 00:28:01 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Fri, 2 Apr 2004 00:28:01 +0200 (MEST) Subject: [pypy-svn] r3682 - pypy/trunk/doc/funding Message-ID: <20040401222801.ABC0A5A142@thoth.codespeak.net> Author: pedronis Date: Fri Apr 2 00:28:00 2004 New Revision: 3682 Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt Log: fix time partner allocation Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Fri Apr 2 00:28:00 2004 @@ -4,7 +4,7 @@ .. |wp| replace:: WP02 .. |start| replace:: 0 .. |p1| replace:: Krekel -.. |m1| replace:: 10 +.. |m1| replace:: 8 .. |p2| replace:: |e| .. |m2| replace:: |e| .. |p3| replace:: |e| Modified: pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Fri Apr 2 00:28:00 2004 @@ -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| Modified: pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt Fri Apr 2 00:28:00 2004 @@ -3,14 +3,14 @@ .. |title| replace:: Integration and Configuration .. |wp| replace:: WP13 .. |start| replace:: 18 -.. |p1| replace:: STRAKT -.. |m1| replace:: 2 -.. |p2| replace:: Krekel +.. |p1| replace:: DKFI +.. |m1| replace:: 4 +.. |p2| replace:: Logilab .. |m2| replace:: 4 -.. |p3| replace:: DKFI +.. |p3| replace:: Krekel .. |m3| replace:: 4 -.. |p4| replace:: Martelli -.. |m4| replace:: 2 +.. |p4| replace:: |e| +.. |m4| replace:: |e| .. |p5| replace:: |e| .. |m5| replace:: |e| .. |p6| replace:: |e| From pedronis at codespeak.net Fri Apr 2 01:21:40 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Fri, 2 Apr 2004 01:21:40 +0200 (MEST) Subject: [pypy-svn] r3683 - pypy/trunk/doc/funding Message-ID: <20040401232140.391075A142@thoth.codespeak.net> Author: pedronis Date: Fri Apr 2 01:21:39 2004 New Revision: 3683 Modified: pypy/trunk/doc/funding/B6.5_workpackage_list.txt pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt Log: fixed data in B6.5_workpackage_list.txt Modified: pypy/trunk/doc/funding/B6.5_workpackage_list.txt ============================================================================== --- pypy/trunk/doc/funding/B6.5_workpackage_list.txt (original) +++ pypy/trunk/doc/funding/B6.5_workpackage_list.txt Fri Apr 2 01:21:39 2004 @@ -14,32 +14,32 @@ ===== ==================================================== ===== ==== ==== ==== ==== ======== |wpn| Workpackage title |lcn| |pm| |sm| |em| |dn| delete ===== ==================================================== ===== ==== ==== ==== ==== ======== -WP01_ Coordination and Management 1 24 0 24 DFKI +WP01_ Coordination and Management 1 12 0 24 DFKI ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP02_ Infrastructure and Tools 4 12 0 24 PBF +WP02_ Infrastructure and Tools 8 8 0 24 Krekel ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP03_ Synchronisation with Standard Python 4 12 0 24 PBF +WP03_ Synchronisation with Standard Python 2 9 0 24 USH ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP04_ The PyPy Core 4 45 0 9 PBF +WP04_ The PyPy Core 5 22 0 9 Strakt ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP05_ The PyPy Translation 2 45 0 9 USH +WP05_ The PyPy Translation 2 28 0 9 USH ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP06_ Core Optimisations 2 24 9 24 USH +WP06_ Core Optimisations 2 12 9 24 USH ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP07_ Translator Optimisations 4 31 9 18 PBF +WP07_ Translator Optimisations 10 16 9 18 Tismer ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP08_ Dynamic Optimisations 4 36 9 18 PBF +WP08_ Dynamic Optimisations 5 25 9 18 Strakt ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP09_ Extend Language with Search and Logic 1 24 9 24 DFKI +WP09_ Extend Language with Search and Logic 1 19 9 24 DFKI ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP10_ Extend Language with Aspects and Contracts 6 15 9 24 Logilab +WP10_ Extend Language with Aspects and Contracts 6 12 9 24 Logilab ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP11_ Embed in Specialized Hardware 7 10 9 24 ChangeMaker +WP11_ Embed in Specialized Hardware 7 6 9 24 ChangeMaker ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP12_ Implement Security, Distribution and Persistence 4 24 18 24 PBF +WP12_ Implement Security, Distribution and Persistence 5 13 18 24 Strakt ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP13_ Integration and Configuration 4 18 18 24 PBF +WP13_ Integration and Configuration 8 12 18 24 Krekel ----- ---------------------------------------------------- ----- ---- ---- ---- ---- -------- -WP14_ Project Documentation and Dissemination 5 24 0 24 Strakt +WP14_ Project Documentation and Dissemination 7 23 0 24 ChangeMaker ===== ==================================================== ===== ==== ==== ==== ==== ======== Modified: pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt Fri Apr 2 01:21:39 2004 @@ -3,11 +3,11 @@ .. |title| replace:: Integration and Configuration .. |wp| replace:: WP13 .. |start| replace:: 18 -.. |p1| replace:: DKFI +.. |p1| replace:: Krekel .. |m1| replace:: 4 .. |p2| replace:: Logilab .. |m2| replace:: 4 -.. |p3| replace:: Krekel +.. |p3| replace:: DFKI .. |m3| replace:: 4 .. |p4| replace:: |e| .. |m4| replace:: |e| From alastair at codespeak.net Fri Apr 2 02:46:44 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 02:46:44 +0200 (MEST) Subject: [pypy-svn] r3687 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402004644.2FFB55A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 02:46:43 2004 New Revision: 3687 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Fixed buggy A3.2 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Fri Apr 2 02:46:43 2004 @@ -12,6 +12,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -82,6 +83,7 @@ + ]]> @@ -127,6 +129,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -301,6 +304,7 @@ + ]]> @@ -735,6 +739,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -920,6 +925,7 @@ + ]]> @@ -1408,6 +1414,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1518,6 +1525,7 @@ + ]]> @@ -1655,6 +1663,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1793,6 +1802,7 @@ + ]]> @@ -2011,6 +2021,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2064,6 +2075,7 @@ + ]]> @@ -2072,8 +2084,8 @@ 004779 PYPY 1 - M1 - M6 + 1 + 6 862.537,50 862.537,50 @@ -2082,8 +2094,8 @@ 004779 PYPY 2 - M7 - M12 + 7 + 12 ,00 ,00 @@ -2092,18 +2104,18 @@ 004779 PYPY 3 - M13 - M18 + 13 + 18 388.987,50 - 388.987,500 + 388.987,50 004779 PYPY 4 - M19 - M24 + 19 + 24 101.475,00 ,00 @@ -2163,6 +2175,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2347,6 +2360,7 @@ + ]]> @@ -2419,6 +2433,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2498,6 +2513,7 @@ + ]]> @@ -2653,6 +2669,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2953,6 +2970,7 @@ + ]]> From tismer at codespeak.net Fri Apr 2 03:20:50 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Fri, 2 Apr 2004 03:20:50 +0200 (MEST) Subject: [pypy-svn] r3688 - in pypy/trunk/doc/funding: makedoc negotiations Message-ID: <20040402012050.D524B5A142@thoth.codespeak.net> Author: tismer Date: Fri Apr 2 03:20:49 2004 New Revision: 3688 Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf Log: made an update before going to bed... sxw and pdf. Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary files. No diff available. From alastair at codespeak.net Fri Apr 2 08:04:37 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 08:04:37 +0200 (MEST) Subject: [pypy-svn] r3689 - pypy/trunk/doc/funding Message-ID: <20040402060437.82BA95A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 08:04:36 2004 New Revision: 3689 Modified: pypy/trunk/doc/funding/B4.resources.txt Log: Adapted to new consortium structure. Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Fri Apr 2 08:04:36 2004 @@ -1,7 +1,11 @@ The consortium and project resources ===================================== -**DFKI** +Description of the partners +--------------------------- + +DFKI +++++ :: @@ -26,7 +30,26 @@ is to maintain a varied portfolio of research projects at the forefront of science. -**AB Strakt** + +Key Personnel +~~~~~~~~~~~~~ + +**Alastair Burt**, a researcher at the German Research Center for Artificial +Intelligence (German Research Center for Artificial Intelligence). He +studied Psychology at the University of Stirling, Scotland and Computing at +Imperial College London. In 1990 he joined the Multiagent System Research +Group at German Research Center for Artificial Intelligence GmbH in +Saarbr?cken in the department of Deduction and Multiagent Systems headed by +Prof. H. J. Siekmann. Since then he has has been involved with wide variety +of research projects centered around the application of multi agent +systems, including participation in several EC projects and taking +responsibility for their coordination. In particular, he was coordinator of +the ASWAD project that developed a Free Software workflow tool for public +administrations across Europe, an innovative use of the Zope and Python +platform. + +AB Strakt ++++++++++ :: @@ -47,8 +70,50 @@ Netherlands, and 6 part time employees. The company was formed in January 2001. - -**University of Southampton** +Key Personnel +~~~~~~~~~~~~~ + +**Jacob Hall?n**, born 1958, comes to his position as co-founder and CTO +of AB Strakt from being a Technical Manager and international +standards expert at the LIBRIS Department of the Royal Library. He was +the LIBRIS representative in the EU funded ONE-2 project. Before this, +he was the CEO of NetGuide Scandinavia AB, one of the first internet +services companies in Sweden. Mr Hall?n has also been a Computer +Science and Programming teacher and an army officer. Throughout his +career he has been managing projects varying from 1200 participant +conventions down to 3 person development projects. He has also done +electronics development and microcontroller programming, winning two +innovation awards in the process. Mr Hall?n is chairman of the Python +Business Forum. + +**Laura Creighton**: Co-founder and lead investor of AB Strakt, Treasurer +of the PBF. Studied Physics (csc minor) at the University of Toronto, +and later instructed there in Physics and Computer Science, while +simultaneously working for the Canadian Armed Forces, teaching +programming to non-programmers, and assisting with research in Human +Factors Engineering and Learning Techniques. Moving to the US, she +consulted for software companies and government institutions, taught +Unix, project management, and interpersonal relations, and wrote a +geophysical simulation system. She brings strong connections in +financial and government sectors, and was an Open Source advocate +before the term was coined. Her passions: programming, empowerment of +average citizens, and the Open Society. + +**Anna Ravenscroft**: Started programming with Python in 2002, presenting +papers on teaching Python, serving as track chair at EuroPython and +OSCON, writing and technical-editing books and articles. Before 2002, +Instruction Administrator for a public transport company, managing +projects, teaching, developing course material, creating +websites. Earlier, Office Manager for a small training company, +creating and editing training documents and administering the firm's +NT LAN. Up to 1994, Distribution Coordinator for a large Financial +Services company, providing field communications and training for a +sales force of 7500. In the 1980's, served as Psychological +Operations Specialist in the US Army, receiving an Honors Degree in +Russian. Education: Liberal Arts, Univ. of MN. + +University of Southampton ++++++++++++++++++++++++++ :: @@ -68,12 +133,27 @@ University of Southampton competes internationally as an elite research intensive institution. +Key Personnel +~~~~~~~~~~~~~ -**Python Business Forum** +**Armin Rigo** was born in 1976 in Lausanne, Switzerland. He is a +researcher at the University of Southampton (UK). He studied +Mathematics at the University of Lausanne and obtained his Ph.D. in +Logic and Set Theory at the Free University of Brussels. He is the +main author of several commercial, open source and research programs +and contributed to a number of them, most notably in the fields of +computer graphics and 3D modelling, education, and programming +languages. He recently developed in the Psyco project novel techniques +for efficient interpretation of dynamic programming languages. He is +also a member and contributor of the TUNES Project for a Free +Reflective Computing System. + +Python Business Forum ++++++++++++++++++++++ :: - Role: Technical Partner + Role: Dissemination Country: Europe Contact: Holger Krekel @@ -95,7 +175,56 @@ will be restricted to Members of the EU and the Candidate countries, as part of the charter of this SIG. -**Logilab** +Key Personnel +~~~~~~~~~~~~~ + +**Tim Peters**: Over 20 years top-tier industrial experience in +programming language implementation and high-performance +computing. 1979-1988, Cray Research: Compiler development, Group +leader--common back-end optimization group. 1988- 1994, Kendall +Square Research (KSR), Compiler and Library development, Architecture +and FPU design. 1994-2000, Dragon Systems: Developed core speech +recognition system for portable devices; scalable, large-scale +telephone speech recognition; and award-winning PhoneQuery Toolkit +product. 2000 to present: Zope Corporation: Development--Core +technologies underlying Zope's leading content management framework; +Python core. Python: first port of Python to 64- bit platform (KSR-1); +POSIX pthreads support; algorithmic and optimization expertise; +elected Director of Python Software Foundation (PSF) since its +inception. + +**Samuele Pedroni**: Born 1974 in Switzerland. Dipl. Math. ETH Zurich +(1999) His thesis was awarded by the ETH Polya Fond. Between 1999-2001 +he worked as teaching/published research assistant at the Institute of +Theor. CS of the ETHZ. He was designer on the state-of-the-art +genetic programming framework for Java JRGP, becoming involved in +Jython (the industry-strength Java re-implementation of Python). He is +now a main developer of Jython, working on internals, compilers and +Java integration, and was author of Jython Essentials (O'Reilly, +2002). He is also involved on the ongoing design of Python. For his +contributions to Python/Jython he has been nominated member of the +PSF. He brings to the project his know-how on languages, +re-implementation/design of Python, reflection, lookup and dispatch +optimization. + + +**Michael Hudson** was born in 1978 in the United Kingdom. He holds a +first class degree in Mathematics from the University of Cambridge and +took the Certificate of Advanced Study in Mathematics at the same +institution. He is currently studying for a PhD in Algebra at the +University of Bristol. He has been a member of the wider Python +community since 1998 and has had commit rights to the Python core +since August 2001. He was release manager for the 2.2.1 release and +made many contributions of code over the years. He was a track chair +at EuroPython 2003 and is a member of the PSF and the PBF. + + +Some of the above personnel may also be hired by other partners to do +technical development. + + +Logilab ++++++++ :: @@ -122,7 +251,21 @@ available under a free software license from the Logilab.Org website. -**Changemaker** +Key Personnel +~~~~~~~~~~~~~ + +**Nicolas Chauvat**: He completed his studies of engineering (spec. Robotics) +at Ecole Centrale Paris and computer science (Artificial Intelligence) at +Universit? Paris 6. Worked as a researcher in industrial and academic +laboratories in France and in the USA before founding Logilab in year 2000. +Research work concerned the modelisation of complex distributed electronic +systems as agent communities and human-agent interaction based on +context-awareness capabilities. President and CEO of Logilab. Python user +since 1997. Secretary of the Python Business Forum. Chairman of the +"EuroPython Science Track". + +Changemaker ++++++++++++ :: @@ -155,62 +298,27 @@ Semcon, Lundsbergs Internatskola,Galaxenis -Sub-contracting ---------------- - -Some pure accounting and auditing tasks will be subcontracted. No core -technical functions or project management will be handed to non-partners. - -Other countries ---------------- +Key Personnel +~~~~~~~~~~~~~ -While this project is of international interest, and while the PBF is -an international Trade organisation, Membership in the PyPy PBF SIG, -where EU funded activity will take place, is restricted to members of -the European Union and the Candidate countries. - -Description of the participants ----------------------------------- - -**Alastair Burt**, a researcher at the German Research Center for Artificial -Intelligence (German Research Center for Artificial Intelligence). He -studied Psychology at the University of Stirling, Scotland and Computing at -Imperial College London. In 1990 he joined the Multiagent System Research -Group at German Research Center for Artificial Intelligence GmbH in -Saarbr?cken in the department of Deduction and Multiagent Systems headed by -Prof. H. J. Siekmann. Since then he has has been involved with wide variety -of research projects centered around the application of multi agent -systems, including participation in several EC projects and taking -responsibility for their coordination. In particular, he was coordinator of -the ASWAD project that developed a Free Software workflow tool for public -administrations across Europe, an innovative use of the Zope and Python -platform. +**Beatrice D?ring** studied teaching/pedagogy at the University of +Karlstad in Sweden. She was recruited into the IT-industry to work as +a project manager for large scale education projects for the company +NetGuide Scandinavia, Gothenburg. Since 1998 she has been working +with education and development project management and management of +education and consultant departments, implementing Open Source +strategies and Agile development methods. Beatrice also teaches +project management, leadership and communication courses for Learning +Tree International. +Krekel +++++++ -**Jacob Hall?n**, born 1958, comes to his position as co-founder and CTO -of AB Strakt from being a Technical Manager and international -standards expert at the LIBRIS Department of the Royal Library. He was -the LIBRIS representative in the EU funded ONE-2 project. Before this, -he was the CEO of NetGuide Scandinavia AB, one of the first internet -services companies in Sweden. Mr Hall?n has also been a Computer -Science and Programming teacher and an army officer. Throughout his -career he has been managing projects varying from 1200 participant -conventions down to 3 person development projects. He has also done -electronics development and microcontroller programming, winning two -innovation awards in the process. Mr Hall?n is chairman of the Python -Business Forum. +:: -**Armin Rigo** was born in 1976 in Lausanne, Switzerland. He is a -researcher at the University of Southampton (UK). He studied -Mathematics at the University of Lausanne and obtained his Ph.D. in -Logic and Set Theory at the Free University of Brussels. He is the -main author of several commercial, open source and research programs -and contributed to a number of them, most notably in the fields of -computer graphics and 3D modelling, education, and programming -languages. He recently developed in the Psyco project novel techniques -for efficient interpretation of dynamic programming languages. He is -also a member and contributor of the TUNES Project for a Free -Reflective Computing System. + Role: Technical Partner + Country: Germany + Contact: Holger Krekel **Holger Krekel**, born 1969 in Frankfurt a.M., began in 1985 to work as a lead programmer producing games for Electronic Arts. He went to @@ -225,25 +333,20 @@ development and some of the first coding Sprints in Europe and became one of the initiators of the PyPy project. -**Tim Peters**: Over 20 years top-tier industrial experience in -programming language implementation and high-performance -computing. 1979-1988, Cray Research: Compiler development, Group -leader--common back-end optimization group. 1988- 1994, Kendall -Square Research (KSR), Compiler and Library development, Architecture -and FPU design. 1994-2000, Dragon Systems: Developed core speech -recognition system for portable devices; scalable, large-scale -telephone speech recognition; and award-winning PhoneQuery Toolkit -product. 2000 to present: Zope Corporation: Development--Core -technologies underlying Zope's leading content management framework; -Python core. Python: first port of Python to 64- bit platform (KSR-1); -POSIX pthreads support; algorithmic and optimization expertise; -elected Director of Python Software Foundation (PSF) since its -inception. + +Martelli +++++++++ + +:: + + Role: Technical Partner + Country: Germany + Contact: Alessandro Martelli **Alex Martelli**: Best-selling author of *Python in a Nutshell*. Co-editor of *Python Cookbook* . ActiveState 2002 "Activators' Choice" award. PSF member, Python language developer, PBF -board member. Currently works for AB Strakt, developing the CAPS +board member. Currently works with AB Strakt, developing the CAPS framework. Also consults for other firms on Python and O-O design, teaching, coding, feasibility studies, interfacing. 1989-2002, Cad.Lab (think3, Inc): innovative component architecture for web-enabling @@ -254,55 +357,14 @@ 1980, Electronic Engineering, Bologna University, 100/100 magna cum laude. -**Samuele Pedroni**: Born 1974 in Switzerland. Dipl. Math. ETH Zurich -(1999) His thesis was awarded by the ETH Polya Fond. Between 1999-2001 -he worked as teaching/published research assistant at the Institute of -Theor. CS of the ETHZ. He was designer on the state-of-the-art -genetic programming framework for Java JRGP, becoming involved in -Jython (the industry-strength Java re-implementation of Python). He is -now a main developer of Jython, working on internals, compilers and -Java integration, and was author of Jython Essentials (O'Reilly, -2002). He is also involved on the ongoing design of Python. For his -contributions to Python/Jython he has been nominated member of the -PSF. He brings to the project his know-how on languages, -re-implementation/design of Python, reflection, lookup and dispatch -optimization. - -**Laura Creighton**: Co-founder and lead investor of AB Strakt, Treasurer -of the PBF. Studied Physics (csc minor) at the University of Toronto, -and later instructed there in Physics and Computer Science, while -simultaneously working for the Canadian Armed Forces, teaching -programming to non-programmers, and assisting with research in Human -Factors Engineering and Learning Techniques. Moving to the US, she -consulted for software companies and government institutions, taught -Unix, project management, and interpersonal relations, and wrote a -geophysical simulation system. She brings strong connections in -financial and government sectors, and was an Open Source advocate -before the term was coined. Her passions: programming, empowerment of -average citizens, and the Open Society. +Tismer +++++++ -**Beatrice D?ring** studied teaching/pedagogy at the University of -Karlstad in Sweden. She was recruited into the IT-industry to work as -a project manager for large scale education projects for the company -NetGuide Scandinavia, Gothenburg. Since 1998 she has been working -with education and development project management and management of -education and consultant departments, implementing Open Source -strategies and Agile development methods. Beatrice also teaches -project management, leadership and communication courses for Learning -Tree International. +:: -**Anna Ravenscroft**: Started programming with Python in 2002, presenting -papers on teaching Python, serving as track chair at EuroPython and -OSCON, writing and technical-editing books and articles. Before 2002, -Instruction Administrator for a public transport company, managing -projects, teaching, developing course material, creating -websites. Earlier, Office Manager for a small training company, -creating and editing training documents and administering the firm's -NT LAN. Up to 1994, Distribution Coordinator for a large Financial -Services company, providing field communications and training for a -sales force of 7500. In the 1980's, served as Psychological -Operations Specialist in the US Army, receiving an Honors Degree in -Russian. Education: Liberal Arts, Univ. of MN. + Role: Technical Partner + Country: Germany + Contact: Christian Tismer **Christian Tismer**: Born 1956 in Jena, Germany, studied Math, Physics and Informatics at the Free University of Berlin, diploma on Adaptive @@ -317,25 +379,20 @@ books into German, is the author of the Stackless Python extension to be merged into PyPy, and belongs to the founders of the PyPy project. -**Nicolas Chauvat**: He completed his studies of engineering (spec. Robotics) -at Ecole Centrale Paris and computer science (Artificial Intelligence) at -Universit? Paris 6. Worked as a researcher in industrial and academic -laboratories in France and in the USA before founding Logilab in year 2000. -Research work concerned the modelisation of complex distributed electronic -systems as agent communities and human-agent interaction based on -context-awareness capabilities. President and CEO of Logilab. Python user -since 1997. Secretary of the Python Business Forum. Chairman of the -"EuroPython Science Track". +Sub-contracting +--------------- + +Some pure accounting and auditing tasks will be subcontracted. No core +technical functions or project management will be handed to non-partners. + +Other countries +--------------- + +While this project is of international interest, and while the PBF is +an international Trade organisation, Membership in the PyPy PBF SIG, +where EU funded activity will take place, is restricted to members of +the European Union and the Candidate countries. -**Michael Hudson** was born in 1978 in the United Kingdom. He holds a -first class degree in Mathematics from the University of Cambridge and -took the Certificate of Advanced Study in Mathematics at the same -institution. He is currently studying for a PhD in Algebra at the -University of Bristol. He has been a member of the wider Python -community since 1998 and has had commit rights to the Python core -since August 2001. He was release manager for the 2.2.1 release and -made many contributions of code over the years. He was a track chair -at EuroPython 2003 and is a member of the PSF and the PBF. Quality of partnership, involvement of users and SMEs ----------------------------------------------------- @@ -405,29 +462,13 @@ Python Business Forum +++++++++++++++++++++ -In addition to providing coding and documentation expertise, the PBF -also brings a number of SME parties to the project who are eager to -apply PyPy to their various products. They are user Stakeholders, and -the primary intended audience of some of our reports. Many of them, on -their own, have expressed a desire to encorporate PyPy into their -products as soon as it is finished and stable. We will report on -their progress to the Commission as well, even though they are not to -be funded by the Commission, as an extra point of reference. - -**Holger Krekel** will also be an active PBF representative in the -project, with a focus on development, packaging and dissemination -tools. He will also be a main contributor in matters of systems -architecture. - -**Christian Tismer** will join the project under the auspices of the -PBF. Christian is the developer of Stackless Python, which is the -blueprint for how we intend to implement persistent threads. - -**Alex Martelli**, being a prolific writer and popular speaker as well -as a Python programmer, Alex is uniquely suited for widely -disseminating the progress and the results of the project. He is also a -board member of the PBF. - +brings a number of SME parties to the project who are eager to +apply PyPy to their various products. They are user Stakeholders, and the +primary intended audience of some of our reports. Many of them, on their +own, have expressed a desire to encorporate PyPy into their products as +soon as it is finished and stable. We will report on their progress to the +Commission as well, even though they are not to be funded by the +Commission, as an extra point of reference. The PBF also provides important outreach to the members of Eastern Europe, and Candidate Countries. Since its founding, it has had @@ -444,6 +485,23 @@ Extra care will be taken to see that our results will be properly disseminated to our PBF members in the Candidate Countries. +Holger Krekel ++++++++++++++ +will have a focus on development, packaging and +dissemination tools. He will also be a main contributor in matters of +systems architecture. + +Christian Tismer +++++++++++++++++ +is the developer of Stackless Python, which is the +blueprint for how we intend to implement persistent threads. + +Alex Martelli ++++++++++++++ +is a prolific writer and popular speaker as well +as a Python programmer. Alex is uniquely suited for widely +disseminating the progress and the results of the project. + Ability to deliver ++++++++++++++++++ @@ -497,7 +555,7 @@ In any project there are three crucial resources to be mobilised. The first is equipment. The PyPy project needs very little. We -would like to purchase a Projector, for use in displaying code +would like to purchase a projector, for use in displaying code at Sprints. We would also like to purchase a portable printable whiteboard. We draw a lot at Sprints, and would like to be able to give every attendee a copy of the diagrams we made at the touch @@ -573,27 +631,18 @@ mobilise them for short projects. And the Open Source community _has_ mobilised them quite effectively. -Sprinting is more than just an effort to maximise creativity by -putting all your creative people in a room and letting them bounce -ideas off each other and write code to test theories. (Though it is -that, too, and that is very important.) Sprinting is also an way to -constantly involve the community and disseminate knowledge, especially -the more difficult 'know-how', as opposed to 'know-that' which one can -read in books, papers, mailing lists and websites. It keeps people -'in the loop' -- ready to contribute should it be necessary -- -especially when combined with the sort of supplementary materials we -intend to produce. ('Know-that' is good too, it is just that it is -'know-how' that you need to bring a new person up to speed in a -project.) - -The PBF, as a non-profit, is a vehicle which is perfect for harnessing -the skills of the seasonal worker, particularly those in SMEs. SMEs -will not have to dedicate a full person to a project, full-time, but -can contribute 'only to one work package' or 'only to one task in one -work package' -- some small chunk that is reasonable for them to do. -Because they are members of a large cooperative, the notion of 'we -need 2 programmers for 2 weeks to do this' is feasible, because they -will already be in the loop, aware of what we are doing. +Sprinting is more than just an effort to maximise creativity by putting all +your creative people in a room and letting them bounce ideas off each other +and write code to test theories. (Though it is that, too, and that is very +important.) Sprinting is also an way to constantly involve the community +and disseminate knowledge, especially the more difficult 'know-how', as +opposed to 'know-that' which one can read in books, papers, mailing lists +and websites. It keeps people 'in the loop' -- ready to contribute should +it be necessary -- especially when combined with the sort of supplementary +materials we intend to produce. ('Know-that' is good too, it is just that +it is 'know-how' that you need to bring a new person up to speed in a +project.. The PBF, as a non-profit, is a vehicle which is perfect for +helping with the organisation of sprints. As part of this project, we intend to document our creative process in the hope that it will be picked up throughout the Open Source community @@ -614,65 +663,61 @@ Full duration of project: 24 months -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -| |DFKI |USH |MPI |PBF |Strakt |Logilab |CM |Total | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|Research and | | | | | | | | | -|Innovation | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP2: Infrastructure | | | | 12| | | | 12| -|and Tools | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP3: Synchronisation | | 12| | | | | | 12| -|with Standard Python | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP4: PyPy Core | 2| | 9| 18| | 4| | 33| -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP5: PyPy Translation| | 9| 9| 3| 18| | | 39| -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP6: Core | | 15| 9| | | | | 24| -|Optimisations | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP7: Translator | | | | 22| | | | 22| -|Optimisations | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP8: Dynamic | | | 9| 9| 18| | | 36| -|Optimisations | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP9: Search and Logic| 10| | | | | 9| | 19| -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP10: Aspects and | 3| | | | | 9| | 12| -|Contracts | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP11: Specialised | | | | | | 9| 1| 10| -|Hardware | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP12: Security, | | | | | | | | | -|Distribution and | | | | 12| 12| | | 24| -|Persistence | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP13: Integration and| | | 12| 6| | | | 18| -|Configuration | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -| | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|Total Research and | 15| 36| 48| 82| 48| 31| 1| 261| -|Innovation | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|Management | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP1: Coordination and| 8| | | | 8| | 8| 24| -|Management | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|WP14: Documentaion | | | | 12| | | 12| 24| -|and Dissemination | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -| | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|Total Management | 8| 0| 0| 12| 8| 0| 20| 48| -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -| | | | | | | | | | -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ -|Total | 23| 36| 48| 94| 56| 31| 21| 309| -+---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+ ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +| |DFKI |USH |PBF |Strakt |Logilab |CM |Krekel |Martelli |Tismer |Total | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|Research and | | | | | | | | | | | +|Innovation | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP2: Infrastructure | | | | | | | 8| | | 8| +|and Tools | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP3: Synchronisation | | 3| | | | | | | 6| 9| +|with Standard Python | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP4: PyPy Core | 4| | | 6| 5| | 3| | 4| 22| ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP5: PyPy Translation| 2| 8| | 15| | | 1| | 2| 28| ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP6: Core | | 12| | | | | | | | 12| +|Optimisations | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP7: Translator | | 3| | | | | 4| | 9 | 16| +|Optimisations | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP8: Dynamic | | 6| | 17| | | | | 2| 25| +|Optimisations | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP9: Search and Logic| 10| | | | 9| | | | | 19| ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP10: Aspects and | 3| | | | 9| | | | | 12| +|Contracts | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP11: Specialised | | | | | 5| 1| | | | 6| +|Hardware | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP12: Security, | | 3| | 10| | | | | | | +|Distribution and | | | | | | | | | | 13| +|Persistence | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP13: Integration and| 4| | | | 4| | 4| | | 12| +|Configuration | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP14: Documentaion | | | | | | 11| | 12| | 24| +|and Dissemination | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +| | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|Total Research and | 23| 35| 0| 48| 32| 12| 20| 12| 23| 205| +|Innovation | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|Management | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|WP1: Coordination and| 4| | | 4| | 4| | | | 12| +|Management | | | | | | | | | | | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +| | | | | | | | | | | | ++---------------------+--------------+---116| 20| 12| 23| 217 | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ + From alastair at codespeak.net Fri Apr 2 08:12:33 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 08:12:33 +0200 (MEST) Subject: [pypy-svn] r3690 - pypy/trunk/doc/funding Message-ID: <20040402061233.D12E85A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 08:12:33 2004 New Revision: 3690 Modified: pypy/trunk/doc/funding/B5.0_manage_bea.txt Log: Combined the descriptions of the coordinator and the management team. Modified: pypy/trunk/doc/funding/B5.0_manage_bea.txt ============================================================================== --- pypy/trunk/doc/funding/B5.0_manage_bea.txt (original) +++ pypy/trunk/doc/funding/B5.0_manage_bea.txt Fri Apr 2 08:12:33 2004 @@ -59,12 +59,12 @@ On the following pages we will describe in more detail how this choice of method will influence the way this project will be managed. -Project Manager ------------------- +Coordination and Management Team +-------------------------------- -The PyPy project will have a project management structure that is -based upon two resources, Jacob Hall?n as project manager and Beatrice -D?ring as assisting project manager. +The PyPy project will have a management and coordination structure that is +based upon three resources, Jacob Hall?n as project manager, Beatrice +D?ring as assisting project manager, and Alastair Burt as coordinator. The role of the project manager is to: @@ -100,8 +100,24 @@ a project of this size with team and stakeholders distributed in several countries needs more project management resources + +The responsibilities of the project coordinator will include: + +- to manage negotiations regarding proposal +- to manage ongoing dialogue with the EU project office during the project +- to appoint a project manager +- to be a representative on the management board +- to participate in the project review workshops +- to submit reports regarding project review workshops +- to participate in project evaluation and submit report of this to the EU + project office +- handle financial tasks and payments between the project and the EU + project office + +The project coordinator will be able to use the project management team +for support in the tasks mentioned above. -The skills and experience of the combined project management team are +The skills and experience of the combined management and coordination team are as follows: Large scale projects @@ -219,6 +235,16 @@ management, communication, conflict resolving) for Learning Tree International since 2000 in both Sweden and USA. +Coordination in EU Projects ++++++++++++++++++++++++++++ + +Alastair Burt, DFKI + +He has participated in several European projects, was the coordinator of +the EU-funded ASWAD free software project, and is in the coordinating team +of the EUTIST-AMI cluster. The DFKI itself has over a decade of experience +of working with the EU's financial and reporting procedures. + Management structure -------------------- @@ -285,33 +311,6 @@ the persons responsible for each individual workpackage. This rule _will_ guide all planning and decision-making in the two boards. -Coordinator ------------ - -The project coordinator in the PyPy project is: - -Alastair Burt, DFKI - -He has participated in several European projects, was the coordinator of -the EU-funded ASWAD free software project, and is in the coordinating team -of the EUTIST-AMI cluster. The DFKI itself has over a decade of experience -of working with the EU's financial and reporting procedures. - -The responsibilities of the project coordinator will include: - -- to manage negotiations regarding proposal -- to manage ongoing dialogue with the EU project office during the project -- to appoint a project manager -- to be a representative on the management board -- to participate in the project review workshops -- to submit reports regarding project review workshops -- to participate in project evaluation and submit report of this to the EU - project office -- handle financial tasks and payments between the project and the EU - project office - -The project coordinator will be able to use the project management team -for support in the tasks mentioned above. Project Meetings ---------------- From hpk at codespeak.net Fri Apr 2 08:12:46 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Fri, 2 Apr 2004 08:12:46 +0200 (MEST) Subject: [pypy-svn] r3691 - pypy/trunk/doc/funding Message-ID: <20040402061246.896B45A142@thoth.codespeak.net> Author: hpk Date: Fri Apr 2 08:12:45 2004 New Revision: 3691 Modified: pypy/trunk/doc/funding/B6.7.wp01_management.txt Log: fixed some ReST Modified: pypy/trunk/doc/funding/B6.7.wp01_management.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp01_management.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp01_management.txt Fri Apr 2 08:12:45 2004 @@ -42,13 +42,13 @@ **Deliverables** --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 +- 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 From alastair at codespeak.net Fri Apr 2 08:18:04 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 08:18:04 +0200 (MEST) Subject: [pypy-svn] r3692 - pypy/trunk/doc/funding Message-ID: <20040402061804.E78095A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 08:18:04 2004 New Revision: 3692 Modified: pypy/trunk/doc/funding/B5.0_manage_bea.txt Log: Removed reference to PBF as employer. Modified: pypy/trunk/doc/funding/B5.0_manage_bea.txt ============================================================================== --- pypy/trunk/doc/funding/B5.0_manage_bea.txt (original) +++ pypy/trunk/doc/funding/B5.0_manage_bea.txt Fri Apr 2 08:18:04 2004 @@ -256,7 +256,7 @@ Representatives in the management board: - Alastair Burt, DFKI -- Holger Krekel, PBF +- Holger Krekel - Jacob Hall?n, AB Strakt - Nicolas Chauvat, Logilab @@ -278,8 +278,8 @@ - Armin Rigo, University of Southampton - Samuele Pedroni -- Holger Krekel, PBF -- Christian Tismer, PBF +- Holger Krekel +- Christian Tismer Further representatives on the Technical Board will be selected at the outset of the project. They will be appointed by a vote of everyone who has From hpk at codespeak.net Fri Apr 2 08:36:53 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Fri, 2 Apr 2004 08:36:53 +0200 (MEST) Subject: [pypy-svn] r3693 - in pypy/trunk/doc/funding: . negotiations Message-ID: <20040402063653.0AA7C5A142@thoth.codespeak.net> Author: hpk Date: Fri Apr 2 08:36:53 2004 New Revision: 3693 Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - went through all the responses again and traced some things to the deliverables we added and clarified - rephrased some bits from wp14 accordingly Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp14_documentation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Fri Apr 2 08:36:53 2004 @@ -36,10 +36,10 @@ Support the dissemination process at all levels. -- Write, disseminate and archive reports about each "development sprint" +- Write, disseminate and archive reports about each development sprint -- In cooperation with all other participants, present a detailed joint report - to the commission about agile methodologies employed by the project. +- Gathering feedback from participants, present a detailed joint report + about agile methodologies employed by the project. - Ensure that all reports and publications are effectively disseminated to python and non-python communities. @@ -84,9 +84,10 @@ architecture. 2 specific workshops will be arranged in this manner (during phase 1 and at the end of phase 3). -- 3 domain specific Workshops will be organized during the course of the PyPy STREP - to allow for adaptation of details on specific feedback issues from specific target - groups (industrial companies, game developing companies and SME:s). +- 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 @@ -100,9 +101,10 @@ - D14.5 Documentation of the development process and "Sprint driven development" in particular - D14.6 Organize three domain specific Workshops during phase 3 with various business and research communities. Reports about these workshops. -- D14.7 Arrange 2 nondomain specific workshops disseminating development process - (during phase 1 and after phase 3) -- D14.8 Participate in conferences throughout the project process. +- 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 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Fri Apr 2 08:36:53 2004 @@ -21,11 +21,13 @@ **Action: the involvement and funding mechanism of PBF should be fully described** The project coordinator sent a mail on the 29th of March detailing the -future role of the PBF within the PyPy research project. At the same -time, participants formerly supposed to work through the PBF are now to -enter the consortium. We presume until further feedback that this is -a viable model and have allocated resources and partners in the DoW -accordingly. +future neccessary role of the PBF within the PyPy research project. At +the same time, participants formerly supposed to work through the PBF +are now to enter the consortium. We presume until further feedback that +this is a viable model and have allocated resources and partners in the +DoW accordingly. The PBF is to bring in experts on specific problems +arising during the process of the project. This will decrease the risk +of failing. **Action: in first instance no workpackages should be removed as savings should be obtained through economizing the work planning.** @@ -33,24 +35,25 @@ The consortium has now revisited each work package description and has provided a much better, more consistent and more detailed work plan. We were able to retain all Workpackages but were more specific about the -exact deliverables and tasks. It was also necessary to reduce the scope -of some of the work packages. But primarily each of the partners in the -consortium now has to accept a much higher risk and responsbility for -efficiently producing all deliverables with the reduced resources. +exact deliverables and tasks. This lead to an economized and tightened +work planning. -The consortium intends to interact early and often with specific -communities and individuals. This should effectively mobilise our resources. +However, each of the partners in the consortium now has to accept a +much higher risk and responsbility for efficiently producing all +deliverables with the reduced resources. The consortium relies now +more heavily on interacting early and often with specific communities +and individuals to effectively mobilise our resources. **Action: provide fully completed and quality checked CPFs.** -We have completed and greatly improved the CPFs. The project office's -feedback to our consortium-proposal may still make further changes neccessary. +We have completed and improved the CPFs. The project office's feedback +to our consortium-proposal may still make further changes neccessary. **Action: Also the reduction of the end-user involvement represents already a reduction in work and required budget.** We still plan to involve language end-users on various levels. -Note that end-users of the PyPy STREP are mainly +Direct end-users of the PyPy STREP are mainly a) language integrators who want to port and leverage their domain specific extensions to PyPy. @@ -67,10 +70,13 @@ end-users and Axis communications in particular. - D12.1-3 will provide experimental versions of PyPy to various groups of end-users (developers and researchers alike). -- D13.2 will provide a tool for end-users to support customizing PyPY - to domain specific needs. -- D14 deliverables provide interaction with various end user communities - including the Research center of IBM in Zurich +- D13.2 will provide a tool for end-users to support customizing PyPy + to domain specific needs and D13.3 will complement this effort with a + publication. +- all D14 deliverables will provide interaction with various end user + communities already including the Research center of IBM in Zurich and + Axis Communications in Sweden. Further contacts will be made to + reach out to end user in- and outside the python communities. **Action: the body text should be preserved, and a full tracing to workpackages should be ensured (adding tasks, subtasks, and defined @@ -79,8 +85,8 @@ We have now fully traced especially the B1 objectives and B6.0 detailed implementation chapters in all Workpackage descriptions and deliverables. Task descriptions -are now more specific and detailed and according deliverables have been added. - +are now more specific and detailed and deliverables have been added according +to the body text descriptions. **Action: An explanation on how the envisaged work goes beyond the state-of-the-art (both in theoretical concepts and solutions and in the @@ -102,7 +108,7 @@ Multithreading and memory mangagement models which today have to be manually coded all over a language implementation. -Each one of these notions is interesting beyond the scope of Python. +Each one of these novelties is interesting beyond the scope of Python. Moreover, the practical implementation leverages an *industrial-strength* language implementation (Python) thus connecting the STREP to a large user base. It is possible that PyPy will form the fundation of the "next @@ -112,58 +118,67 @@ **Action: the coordination and management model should be clarified.** -TOBEDONE - +The B5 chapter has been revised to clarify the management and coordination +structure of the coordinator, the project management and technical board. +This chapter now also reflects the new consortium structure. **Action: Rename the first phase.** -The first phase has been renamed to "Building a flexible interpreter". +The first phase has been renamed to "Building a flexible interpreter". +In particular the first phase (D04.4) will provide a Research tool and +various reseach results on building a highly flexible and modular +interpreter will be published on conferences (see D05.1, D05.3, D05.4). **Action: The DoW will be modified to clarify this [multithreading] issue**. -The B1.0 objectives chapter has been extended to clarify the issue. -The WP07_ description and D7.3 and D7.1 in particular have been clarified. +The B1.0 objectives chapter has been extended to clarify the issue. The +WP07_ description, and D7.3 and D7.1 in particular, have been clarified. Summarizing, today there are many complicated issues in current language implementations such as Java, Perl and Python itself. All such industrial strength language implementations usually decide early on a -specific threading model. The PyPy project researches ways to allow -making this decision much later and well encapsulated. Moreover, massive -parallelism with millions of threads are to become both practical and easy to -program without consuming operating system resources. +specific threading and memory management model. The PyPy project +pioneers ways to allow making this decision much later and well +encapsulated (D05.3, D05.4). Moreover, massive parallelism with millions +of threads are to become both practical and easy to program without +consuming operating system resources (D07.1, D07.3, D07.4) **Action: The DoW will be modified to make it clearer what type of tests we are referring to.** The deliverables of WP04 and WP05 now specify more clearly the test selection. -The original Python developers will be consulted if there is a doubt whether -something is a "language feature" or an "implementation feature" test. - +In general, we select language compliancy tests as the primary measurement +utility and disregard testing of implementation details specific to the +current C-Python implementation. The original Python developers will be consulted +if there is a doubt whether something is a "language feature" or an +"implementation feature" test. **Action: The relevant [AOP/logic] sections of the DoW will be extended.** -Examples are now given in B6.0 to clarify that PyPy aims at providing -access and interception points to internals greatly improving +Examples are now given in B6.0 to clarify that PyPy aims at researching +and providing access and interception points to internals greatly improving performance and practicality of introducing aspects to the language -level. The WP09_ and WP10_ have been updated accordingly. +level and enabling Semantic Web applications. The WP09_ and WP10_ have +been updated accordingly. **Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** -WP14_ and WP11_ now define explicit workshops and dissmentiation activities. -Moreover, several reports and publications have been explicitely added to all -Work Packages. The B6.0 and B1.0 already mentioned various dissemination -activities which are now fully traced in the DoW tasks and deliverables. Special -care has been taken that the research report, publication and workshop deliverables will -be disseminated to non-python communities. +WP14_ and WP11_ now define explicit workshops and dissmentiation +activities. Moreover, several reports and publications have been +explicitely added to all Work Packages. The B6.0 and B1.0 already +mentioned various dissemination activities which are now fully traced in +the DoW tasks and deliverables. Special care has been taken that the +research report, publication and workshop deliverables will be +disseminated to non-python communities (see especially D14.1-8, D11.1-2). **Action: The DoW will include a justification of the license chosen. Compatibility with the GPL will be addressed.** -The chapter in B3.0 Impact chapter which mentioned licensing has been -extended to cover a short discussion of choosing the MIT license over -the GPL. +The license subchapter of "B3.0 Impact" has been extended to cover a +short discussion of choosing the MIT license over the GPL. In summary, the risk of a complete "hostile takeover" from some commercial company is low considering the partners and the communities -involved. However, our results and source code can be freely used from +involved. Thus the protection that the GPL offers is not critical to the +project. However, our results and source code can be freely used from GPL licensed projects. While all consortium partners commit to produce source code and results @@ -183,5 +198,6 @@ STREP are language integrators and researchers. The line between beeing an end-user and a contributor to the project is designed to be easy to cross thus contributing to effective mobilization of resources. Nevertheless, The PyPy -implementation is indirectly useful to all users running applications (especially -novel ones) on top of PyPy. +implementation is indirectly useful to all users running applications +on top of PyPy especially if applications learn to exploit the performance +and flexibility features that PyPy will offer. From hpk at codespeak.net Fri Apr 2 09:02:02 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Fri, 2 Apr 2004 09:02:02 +0200 (MEST) Subject: [pypy-svn] r3694 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402070202.4E8965A142@thoth.codespeak.net> Author: hpk Date: Fri Apr 2 09:02:01 2004 New Revision: 3694 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: a sentence hinting at difficulties with the CPF editor excusing kind of in advance if there are still inaccuracies Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Fri Apr 2 09:02:01 2004 @@ -48,6 +48,8 @@ We have completed and improved the CPFs. The project office's feedback to our consortium-proposal may still make further changes neccessary. +We also had problems with the CPF editor (import and synchronization +problems) but hope we fixed all remaining inaccuracies. **Action: Also the reduction of the end-user involvement represents already a reduction in work and required budget.** From hpk at codespeak.net Fri Apr 2 09:12:10 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Fri, 2 Apr 2004 09:12:10 +0200 (MEST) Subject: [pypy-svn] r3695 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402071210.5D17B5A142@thoth.codespeak.net> Author: hpk Date: Fri Apr 2 09:12:09 2004 New Revision: 3695 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: changed the free keywords of A1 (general) ... see the diff ... Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Fri Apr 2 09:12:09 2004 @@ -97,7 +97,7 @@ Computer technology Middleware - Python Programming Platform Interpreter Compiler Jit Open source Compilers + Research language platform interpreter compiler JIT open source python Main goalsThe project will research and implement a flexible, configurable and performant version of Python, a popular Free/Open Source programming language. Much anecdotal, and some empirical, evidence suggests that Python is one of the easiest programming languages to learn and is one of the languages in which one can code up a given algorithm the fastest. The project aims to bring this highly productive language to a wider range of platforms and devices by providing simple means to build a highly customized language version.The approach The project will achieve its goals principally by leveraging excellent research and the strengths of Open Source developer communities. In particular, it will explore and refine Sprint Driven Development, an agile rapid development method pioneered by Python communities in Europe. Sprints accelerate an already productive open development process by intensifying communication and feedback cycles for programmers and researchers. This process will also involve an existing non-profit organisation of Python firms to bind business communities into research and implementation of a unique runtime environment. Technically, the project will refine and implement innovative approaches to language implementation, based on object spaces and abstract interpretation.Concrete resultsThe new Python will maintain the semantics of the current implementation but will be more portable, more easily customised and extended, more efficient, and it will cover more programming paradigms in a way that respects the simplicity of the underlying language. In addition, the project will document and refine existing open source development models in the Python community. Although targetted principally at Python, most of the research results will be applicable to other high level languages. IST-2002-2.3.2.3 From alastair at codespeak.net Fri Apr 2 09:49:42 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 09:49:42 +0200 (MEST) Subject: [pypy-svn] r3696 - pypy/trunk/doc/funding Message-ID: <20040402074942.F235B5A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 09:49:42 2004 New Revision: 3696 Modified: pypy/trunk/doc/funding/B4.resources.txt Log: Fixed table. Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Fri Apr 2 09:49:42 2004 @@ -717,7 +717,8 @@ |Management | | | | | | | | | | | +---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ | | | | | | | | | | | | -+---------------------+--------------+---116| 20| 12| 23| 217 | ++---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ +|Total | 27| 35| 0| 52| 32| 16| 20| 12| 23| 217| +---------------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+--------------+-------------+--------------+ From hpk at codespeak.net Fri Apr 2 10:06:22 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Fri, 2 Apr 2004 10:06:22 +0200 (MEST) Subject: [pypy-svn] r3697 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402080622.BB89E5A142@thoth.codespeak.net> Author: hpk Date: Fri Apr 2 10:06:22 2004 New Revision: 3697 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - changed response to account for "we just need to rearrange things" which Alastair did Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Fri Apr 2 10:06:22 2004 @@ -120,8 +120,8 @@ **Action: the coordination and management model should be clarified.** -The B5 chapter has been revised to clarify the management and coordination -structure of the coordinator, the project management and technical board. +The B5 chapter has been rearranged and revised to clarify the responsibilities +of the coordinator, the project management and technical board. This chapter now also reflects the new consortium structure. **Action: Rename the first phase.** From alastair at codespeak.net Fri Apr 2 11:51:47 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 11:51:47 +0200 (MEST) Subject: [pypy-svn] r3698 - pypy/trunk/doc/funding Message-ID: <20040402095147.0CE075A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 11:51:47 2004 New Revision: 3698 Modified: pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt Log: Expanded WP09. Modified: pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt Fri Apr 2 11:51:47 2004 @@ -40,18 +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 fraeworks for Semantic Web applications that are on-going at +Logilab and DFKI and which are related to RDF-based approaches to +knowledge represenation and the integration of search into the Zope +application server. .. 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 From hpk at codespeak.net Fri Apr 2 11:53:08 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Fri, 2 Apr 2004 11:53:08 +0200 (MEST) Subject: [pypy-svn] r3699 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402095308.A89565A142@thoth.codespeak.net> Author: hpk Date: Fri Apr 2 11:53:08 2004 New Revision: 3699 Modified: pypy/trunk/doc/funding/negotiations/neg. meeting 16-3-04.doc Log: the negotioan notes version that alastair forwardded to pypy-funding from the PO Modified: pypy/trunk/doc/funding/negotiations/neg. meeting 16-3-04.doc ============================================================================== Binary files. No diff available. From arigo at codespeak.net Fri Apr 2 11:55:07 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Fri, 2 Apr 2004 11:55:07 +0200 (MEST) Subject: [pypy-svn] r3700 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402095507.446A75A142@thoth.codespeak.net> Author: arigo Date: Fri Apr 2 11:55:05 2004 New Revision: 3700 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - Re-rename the first phase as it was previously in this document, as this is how it is finally in the gantt chart (better name IMO). - Typo. Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Fri Apr 2 11:55:05 2004 @@ -126,7 +126,7 @@ **Action: Rename the first phase.** -The first phase has been renamed to "Building a flexible interpreter". +The first phase has been renamed to "Building a novel language research tool". In particular the first phase (D04.4) will provide a Research tool and various reseach results on building a highly flexible and modular interpreter will be published on conferences (see D05.1, D05.3, D05.4). @@ -197,7 +197,7 @@ **Action: The DoW will be modified to avoid this [user] confusion.** The complete DoW has been clarified accordingly. End-users of the PyPy -STREP are language integrators and researchers. The line between beeing +STREP are language integrators and researchers. The line between being an end-user and a contributor to the project is designed to be easy to cross thus contributing to effective mobilization of resources. Nevertheless, The PyPy implementation is indirectly useful to all users running applications From nico at codespeak.net Fri Apr 2 12:19:54 2004 From: nico at codespeak.net (nico at codespeak.net) Date: Fri, 2 Apr 2004 12:19:54 +0200 (MEST) Subject: [pypy-svn] r3704 - pypy/trunk/doc/funding Message-ID: <20040402101954.F41315A142@thoth.codespeak.net> Author: nico Date: Fri Apr 2 12:19:54 2004 New Revision: 3704 Modified: pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt Log: more detailed description Modified: pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt Fri Apr 2 12:19:54 2004 @@ -38,14 +38,46 @@ 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 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 and 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 comunity 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 From arigo at codespeak.net Fri Apr 2 12:28:30 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Fri, 2 Apr 2004 12:28:30 +0200 (MEST) Subject: [pypy-svn] r3705 - pypy/trunk/doc/funding Message-ID: <20040402102830.7F1345A142@thoth.codespeak.net> Author: arigo Date: Fri Apr 2 12:28:29 2004 New Revision: 3705 Modified: pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt Log: Typos. Modified: pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt Fri Apr 2 12:28:29 2004 @@ -48,13 +48,13 @@ having any knowledge of logging. Logilab already published an implementation of aspects for Python, -but it limited by the language in the sense that weaving code consists +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 and overhead and other constraints +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 comunity and +wwww.aosd.net, the aspect-oriented software development community and research portal. **Task 2** From alastair at codespeak.net Fri Apr 2 12:56:40 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 12:56:40 +0200 (MEST) Subject: [pypy-svn] r3706 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402105640.55F005A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 12:56:39 2004 New Revision: 3706 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: More consistent short names. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Fri Apr 2 12:56:39 2004 @@ -360,7 +360,7 @@ 2 THE UNIVERSITY OF SOUTHAMPTON - UOS + USH UNIVERSITY ROAD, HIGHFIELD SO17 1BJ @@ -585,7 +585,7 @@ 8 Dipl.Inf. Holger Krekel Tax number 30/124/04270 - Holger Krekel + Krekel Steinbergstr. 42 31139 @@ -630,7 +630,7 @@ 9 Dottor Ingegner Alessandro Martelli 6232 - Alex Martelli + Martelli via Barontini 27 40138 @@ -675,7 +675,7 @@ 10 Dipl.-Math. Christian Tismer Tax number 25/561/60688 - Christian Tismer + Tismer Johannes-Niemeyer-Weg 9A 14109 @@ -1832,7 +1832,7 @@ 004779 PYPY 2 - UOS + USH AC 220.500,00 220.500,00 @@ -1937,7 +1937,7 @@ 004779 PYPY 8 - Holger Krekel + Krekel FCF 226.000,00 135.600,00 @@ -1958,7 +1958,7 @@ 004779 PYPY 9 - Alex Martelli + Martelli FCF 142.000,00 85.200,00 @@ -1979,7 +1979,7 @@ 004779 PYPY 10 - Christian Tismer + Tismer FCF 270.250,00 162.150,00 From alastair at codespeak.net Fri Apr 2 13:20:11 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 13:20:11 +0200 (MEST) Subject: [pypy-svn] r3707 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402112011.3CBE75A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 13:20:10 2004 New Revision: 3707 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Fixing number formats. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Fri Apr 2 13:20:10 2004 @@ -332,10 +332,10 @@ DE148646973 - 14.000.000,00 - 30.000.000,00 + 14000000.00 + 30000000.00 2002 - 14.000.000,00 + 14,000,000 277 137 26 @@ -377,10 +377,10 @@ GB568630414 - ,00 - ,00 + + - ,00 + 1202 405 @@ -422,10 +422,10 @@ - 1.000,00 - 1.000,00 + 1,000 + 1,000 - 100,00 + 100 1 0 0 @@ -467,10 +467,10 @@ 556609-2473 - 1.100.000,00 - 4.800.000,00 + 1,100,000 + 4,800,000 2003 - 800.000,00 + 800,000 17 12 1 @@ -512,10 +512,10 @@ FR09 432 746 19 - ,00 - ,00 + + - ,00 + 10 9 1 @@ -557,10 +557,10 @@ - 160.000,00 - 50.000,00 + 160,000 + 50,000 2003 - ,00 + 2 0 1 @@ -602,10 +602,10 @@ - 150.038,00 - ,00 + 150,038 + 2000 - 10.000,00 + 10,000 1 1 0 @@ -647,10 +647,10 @@ 0224 225 1201 - 130.000,00 - ,00 + 130,000 + 2003 - 10.000,00 + 10,000 1 1 0 @@ -692,10 +692,10 @@ - 135.959,00 - ,00 + 135,959 + 2001 - 10.000,00 + 10,000 1 1 0 @@ -976,7 +976,7 @@ CFO Project Leader - ,00 + @@ -1027,7 +1027,7 @@ ACADEMIC STAFF - ,00 + @@ -1078,7 +1078,7 @@ SIG Chair - ,00 + @@ -1129,7 +1129,7 @@ CTO - ,00 + @@ -1180,7 +1180,7 @@ President and CEO - ,00 + @@ -1231,7 +1231,7 @@ Project Leader - ,00 + @@ -1282,7 +1282,7 @@ Sole owner N - ,00 + N @@ -1333,7 +1333,7 @@ Sole owner - ,00 + @@ -1384,7 +1384,7 @@ Sole owner N - ,00 + N @@ -1813,19 +1813,19 @@ 1 DFKI FC - 260.500,00 - 130.250,00 - ,00 - ,00 - 39.200,00 - 39.200,00 - ,00 - 115.662,00 - ,00 - ,00 - ,00 - 17.404,80 - ,00 + 260,500 + 130,250 + + + 39,200 + 39,200 + + 115,662 + + + + 17,404.80 + @@ -1834,19 +1834,19 @@ 2 USH AC - 220.500,00 - 220.500,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + 220,500 + 220,500 + + + + + + + + + + + @@ -1855,19 +1855,19 @@ 4 PBF AC - 94.060,00 - 94.060,00 - ,00 - ,00 - ,00 - ,00 - 35.000,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + 94,060 + 94,060 + + + + + 35,000 + + + + + + @@ -1876,19 +1876,19 @@ 5 STRAKT FC - 395.000,00 - 237.800,00 - ,00 - ,00 - 27.300,00 - 34.000,00 - ,00 - 80.600,00 - ,00 - ,00 - ,00 - 6.700,00 - ,00 + 395,000 + 237,800 + + + 27,300 + 34,000 + + 80,600 + + + + 6,700 + @@ -1897,19 +1897,19 @@ 6 LOGILAB FC - 295.680,00 - 147.840,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + 295,680 + 147,840 + + + + + + + + + + + @@ -1918,19 +1918,19 @@ 7 CM FC - 90.400,00 - 45.200,00 - ,00 - ,00 - 21.200,00 - 21.200,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + 90,400 + 45,200 + + + 21,200 + 21,200 + + + + + + + @@ -1939,19 +1939,19 @@ 8 Krekel FCF - 226.000,00 - 135.600,00 - ,00 - ,00 - ,00 - ,00 - ,00 - 45.200,00 - ,00 - ,00 - ,00 - ,00 - ,00 + 226,000 + 135,600 + + + + + + 45,200 + + + + + @@ -1960,19 +1960,19 @@ 9 Martelli FCF - 142.000,00 - 85.200,00 - ,00 - ,00 - ,00 - ,00 - ,00 - 28.400,00 - ,00 - ,00 - ,00 - ,00 - ,00 + 142,000 + 85,200 + + + + + + 28,400 + + + + + @@ -1981,19 +1981,19 @@ 10 Tismer FCF - 270.250,00 - 162.150,00 - ,00 - ,00 - ,00 - ,00 - ,00 - 54.050,00 - ,00 - ,00 - ,00 - ,00 - ,00 + 270,250 + 162,150 + + + + + + 54,050 + + + + + @@ -2086,8 +2086,8 @@ 1 1 6 - 862.537,50 - 862.537,50 + 862,537.50 + 862,537.50 @@ -2096,8 +2096,8 @@ 2 7 12 - ,00 - ,00 + + @@ -2106,8 +2106,8 @@ 3 13 18 - 388.987,50 - 388.987,50 + 388,987.50 + 388,987.50 @@ -2116,8 +2116,8 @@ 4 19 24 - 101.475,00 - ,00 + 101,475 + @@ -2126,8 +2126,8 @@ 5 - ,00 - ,00 + + @@ -2136,8 +2136,8 @@ 6 - ,00 - ,00 + + @@ -2146,8 +2146,8 @@ 7 - ,00 - ,00 + + @@ -2985,64 +2985,64 @@ 12 N EUR - ,00 - ,00 - 61.607,00 - 89.860,57 - 4.362.341,00 - 5.031.956,77 - 2.000.830,93 - 2.000.830,93 - 19.064.270,31 - 11.971.658,98 - 959.503,87 - 613.503,47 - ,00 - ,00 - 3.268.970,00 - 4.941.600,75 - 553.631,50 - 472.911,42 - 572.000,00 - 562.421,07 - 4.231.354,14 - 3.713.416,21 - ,00 - ,00 - 213.071,11 - 544.777,22 - 2.216.757,01 - 2.586.629,21 - 1.988.536,85 - 2.110.407,60 - 20.927.564,75 - 15.489.147,47 - 121.870,75 - 115.524,16 - 7.109.860,24 - 7.080.140,35 - 7.098.124,34 - 5.872.995,43 - 1.309.973,39 - 1.479.339,67 - 23.684,72 - 92.239,46 - 2.577.271,20 - 2.181.684,71 - 11.674.608,66 - 10.955.088,18 - 1.020.577,56 - 1.156.248,09 - 157.695,38 - 400.326,90 - 122.919,05 - 116.335,84 - ,00 - ,00 - 152.284,78 - 282.781,28 - 222.645,12 - 110.477,85 + + + 61,607 + 89,860.57 + 4,362,341 + 5,031,956.77 + 2,000,830.93 + 2,000,830.93 + 19,064,270.31 + 11,971,658.98 + 959,503.87 + 613,503.47 + + + 3,268,970 + 4,941,600.75 + 553,631.50 + 472,911.42 + 572,000 + 562,421.07 + 4,231,354.14 + 3,713,416.21 + + + 213,071.11 + 544,777.22 + 2,216,757.01 + 2,586,629.21 + 1,988,536.85 + 2,110,407.60 + 20,927,564.75 + 15,489,147.47 + 121,870.75 + 115,524.16 + 7,109,860.24 + 7,080,140.35 + 7,098,124.34 + 5,872,995.43 + 1,309,973.39 + 1,479,339.67 + 23,684.72 + 92,239.46 + 2,577,271.20 + 2,181,684.71 + 11,674,608.66 + 10,955,088.18 + 1,020,577.56 + 1,156,248.09 + 157,695.38 + 400,326.90 + 122,919.05 + 116,335.84 + + + 152,284.78 + 282,781.28 + 222,645.12 + 110,477.85 @@ -3055,64 +3055,64 @@ - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3125,64 +3125,64 @@ - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3195,64 +3195,64 @@ - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3265,64 +3265,64 @@ 22 Y EUR - ,00 - ,00 - ,00 - ,00 - 759,00 - 1,00 - 4,00 - 4,00 - ,00 - ,00 - ,00 - 4,00 - 10,00 - ,00 - 1,00 - 7,00 - ,00 - ,00 - 50,00 - 50,00 - ,00 - ,00 - -12,00 - ,00 - 964,00 - -12,00 - ,00 - ,00 - ,00 - ,00 - 8,00 - 8,00 - ,00 - 563,00 - 31,00 - 22,00 - ,00 - ,00 - ,00 - ,00 - 93,00 - 98,00 - 6,00 - 74,00 - 24,00 - 15,00 - ,00 - ,00 - 120,00 - 3,00 - ,00 - ,00 - ,00 - 63,00 - -2,00 - 43,00 - ,00 - ,00 + + + + + 759 + 1 + 4 + 4 + + + + 4 + 10 + + 1 + 7 + + + 50 + 50 + + + -12 + + 964 + -12 + + + + + 8 + 8 + + 563 + 31 + 22 + + + + + 93 + 98 + 6 + 74 + 24 + 15 + + + 120 + 3 + + + + 63 + -2 + 43 + + @@ -3335,64 +3335,64 @@ - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3405,64 +3405,64 @@ - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3475,64 +3475,64 @@ - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 - ,00 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From lac at codespeak.net Fri Apr 2 14:29:12 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Fri, 2 Apr 2004 14:29:12 +0200 (MEST) Subject: [pypy-svn] r3713 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402122912.7D8AA5A142@thoth.codespeak.net> Author: lac Date: Fri Apr 2 14:29:11 2004 New Revision: 3713 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: modify Holger's text. Now to check that all the points are raised everybody please read and criticise. Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Fri Apr 2 14:29:11 2004 @@ -20,20 +20,28 @@ **Action: the involvement and funding mechanism of PBF should be fully described** -The project coordinator sent a mail on the 29th of March detailing the -future neccessary role of the PBF within the PyPy research project. At -the same time, participants formerly supposed to work through the PBF -are now to enter the consortium. We presume until further feedback that -this is a viable model and have allocated resources and partners in the -DoW accordingly. The PBF is to bring in experts on specific problems -arising during the process of the project. This will decrease the risk -of failing. +The project coordinator (Alastair Burt, DFKI)sent a mail on the 29th +of March detailing the future neccessary role of the PBF within the +PyPy research project. At the same time, three participants, (Holger +Krekel, Alex Martelli and Christian Tismer) who formerly participated +via the PBF are now to enter the consortium as independent partners. +We presume until further feedback that this is a viable model and have +allocated resources and partners in the DoW accordingly. The PBF is +to bring in experts on specific problems arising during the process of +the project. This will decrease the risk of failing. The PBF also +serves as a valuable vehicle for the dissemination of the project, +given that it is comprised of SMEs whose business depends on the +Python programming language. They will be perfectly positioned to +make immediate use of our new language implementation, the moment it +becomes commercially advantageous for them to do so, because they will +be so closely involved in the project as a producer and consumer of +information. See especially Work Package 14, Documentation and Dissemination. **Action: in first instance no workpackages should be removed as savings should be obtained through economizing the work planning.** The consortium has now revisited each work package description and has -provided a much better, more consistent and more detailed work plan. We +provided a more consistent and more detailed work plan. We were able to retain all Workpackages but were more specific about the exact deliverables and tasks. This lead to an economized and tightened work planning. @@ -44,27 +52,32 @@ more heavily on interacting early and often with specific communities and individuals to effectively mobilise our resources. +XXXFIXME: Do we say we reduced scope or not?? lac+ hpk- + **Action: provide fully completed and quality checked CPFs.** We have completed and improved the CPFs. The project office's feedback to our consortium-proposal may still make further changes neccessary. We also had problems with the CPF editor (import and synchronization -problems) but hope we fixed all remaining inaccuracies. +problems) but hope we fixed all remaining inaccuracies. + +XXXFIXME: Do we explain to the EP how their program is broken w.r.t. import? +XXX lac thinks, yes, but not here, don't be critical here. -**Action: Also the reduction of the end-user involvement represents already -a reduction in work and required budget.** +**Action: Also the reduction of the language user involvement already +represents a reduction in work and required budget.** We still plan to involve language end-users on various levels. -Direct end-users of the PyPy STREP are mainly +Immediate beneficiaries of the PyPy STREP are predominantly a) language integrators who want to port and leverage their domain specific extensions to PyPy. -b) researchers who want to explore and understand new optimization - and language techniques +b) researchers and educators who want to explore and understand new + optimization and language techniques In particular the following deliverables will serve involvement -of those end-users: +of these language users: - D03.3 will help developers to port existing C-extensions to PyPy - D04.4 will help researchers to do innovative language research @@ -72,13 +85,22 @@ end-users and Axis communications in particular. - D12.1-3 will provide experimental versions of PyPy to various groups of end-users (developers and researchers alike). -- D13.2 will provide a tool for end-users to support customizing PyPy +- D13.2 will provide a tool for to support customizing PyPy to domain specific needs and D13.3 will complement this effort with a publication. -- all D14 deliverables will provide interaction with various end user - communities already including the Research center of IBM in Zurich and - Axis Communications in Sweden. Further contacts will be made to - reach out to end user in- and outside the python communities. +- all D14 deliverables will target diverse potential users of the new + Python implementation. The Research Centre of IBM in Zurich is specifically + targetted, while other publications and Workshops will focus on SMEs and + game developers both inside (D14.6) and outside (D14.7) the + existing Python community. + +The PBF is a good vehicle for bringing new developers into the project via +Sprints. This generates a great deal of interest within the existing +Python development community, interest which is sustained through the +presentation of papers at various computer conferences, in particular +PyCon, EuroPython, and OSCON (D14.8). D14.5 will document our experience +in using Sprints as an integral and essential part of our dissemination +process. **Action: the body text should be preserved, and a full tracing to workpackages should be ensured (adding tasks, subtasks, and defined @@ -107,14 +129,16 @@ including advanced JIT-Compilers - "Translation aspects" will - among other things - encapsulate - Multithreading and memory mangagement models which today - have to be manually coded all over a language implementation. + Multi-threading and memory mangagement models. This will enable + flexible, and adaptive implentations, which today + have to be manually coded all over a language implementation, in + a way that is inelegant, inflexible, and error-prone. Each one of these novelties is interesting beyond the scope of Python. Moreover, the practical implementation leverages an *industrial-strength* language implementation (Python) thus connecting the STREP to a large user base. It is possible that PyPy will form the fundation of the "next -generation" Python implemention commonly refered to as Python3000. Once +generation" Python implemention commonly refered to as Python 3000. Once we have reports and specific versions of PyPy we will reach out to non-python communities (see WP14_). @@ -126,11 +150,13 @@ **Action: Rename the first phase.** -The first phase has been renamed to "Building a novel language research tool". +The first phase has been renamed to "Building a Novel Language Research Tool". In particular the first phase (D04.4) will provide a Research tool and various reseach results on building a highly flexible and modular interpreter will be published on conferences (see D05.1, D05.3, D05.4). +XXXFIXME B6.0 Introduction still uses old naming. + **Action: The DoW will be modified to clarify this [multithreading] issue**. The B1.0 objectives chapter has been extended to clarify the issue. The @@ -141,8 +167,9 @@ specific threading and memory management model. The PyPy project pioneers ways to allow making this decision much later and well encapsulated (D05.3, D05.4). Moreover, massive parallelism with millions -of threads are to become both practical and easy to program without -consuming operating system resources (D07.1, D07.3, D07.4) +of threads will be both practical and easy to program without +consuming operating system resources (D07.1, D07.3, D07.4) This is an +extremely significant development, of particular interest to the Ga **Action: The DoW will be modified to make it clearer what type of tests we are referring to.** @@ -162,6 +189,8 @@ level and enabling Semantic Web applications. The WP09_ and WP10_ have been updated accordingly. +XXXFIXME see that this is done. Also B6.0 Intro uses old name of the phase 1. + **Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** WP14_ and WP11_ now define explicit workshops and dissmentiation @@ -196,10 +225,14 @@ **Action: The DoW will be modified to avoid this [user] confusion.** -The complete DoW has been clarified accordingly. End-users of the PyPy -STREP are language integrators and researchers. The line between being -an end-user and a contributor to the project is designed to be easy to cross -thus contributing to effective mobilization of resources. Nevertheless, The PyPy +The complete DoW has been clarified accordingly. The term 'end-user' has been +dropped in favour of 'language user'. The typical 'language user' of the PyPy +STREP are language integrators and researchers. They are also its immediate +beneficiaries. The line between being a language user and a contributor to +the project is designed to be easy-to-cross thus contributing to the effective +mobilization of resources. D03.3, D04.4, D11.1, D12.1-3, D13.2 and D13.3 +will be of especial interest to such language users. Nevertheless, The PyPy implementation is indirectly useful to all users running applications on top of PyPy especially if applications learn to exploit the performance -and flexibility features that PyPy will offer. +and flexibility features that PyPy will offer. These people will not be +neglected, and D14.2, D14.6-8 will be of particular interest to such users. From lac at codespeak.net Fri Apr 2 14:34:53 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Fri, 2 Apr 2004 14:34:53 +0200 (MEST) Subject: [pypy-svn] r3714 - pypy/trunk/doc/funding Message-ID: <20040402123453.B51D75A142@thoth.codespeak.net> Author: lac Date: Fri Apr 2 14:34:53 2004 New Revision: 3714 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: Changed the intro to refer to our new improved title for Part 1. This implies that part 2 should have a name, but if I ever knew it, I have forgotten. This should go in here as well. Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Fri Apr 2 14:34:53 2004 @@ -16,7 +16,8 @@ The PyPy project can be divided into three phases: -- Phase 1: The core of PyPy itself must first be developed. +- Phase 1: Building a Novel Language Research Tool. The core functionality of PyPy itself must first be developed, using our novel and flexible approach of +Object Spaces. - Phase 2: This code base can be used as an research/integration platform of choice. From pedronis at codespeak.net Fri Apr 2 14:42:41 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Fri, 2 Apr 2004 14:42:41 +0200 (MEST) Subject: [pypy-svn] r3715 - pypy/trunk/doc/funding Message-ID: <20040402124241.DB1B45A142@thoth.codespeak.net> Author: pedronis Date: Fri Apr 2 14:42:41 2004 New Revision: 3715 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: added names of Phase 2 and Phase 3 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Fri Apr 2 14:42:41 2004 @@ -19,10 +19,10 @@ - Phase 1: Building a Novel Language Research Tool. The core functionality of PyPy itself must first be developed, using our novel and flexible approach of Object Spaces. -- Phase 2: This code base can be used as an research/integration platform of +- Phase 2: High Perfomance. This code base can be used as an research/integration platform of choice. -- Phase 3: Specific applications can be implemented and disseminated. +- Phase 3: Validation & Flexibility. Specific applications can be implemented and disseminated. Phase 1 is a prerequisite for Phases 2 and 3; Phases 2 and 3 are reasonably independent from each other. From lac at codespeak.net Fri Apr 2 15:45:44 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Fri, 2 Apr 2004 15:45:44 +0200 (MEST) Subject: [pypy-svn] r3721 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402134544.366D55A142@thoth.codespeak.net> Author: lac Date: Fri Apr 2 15:45:43 2004 New Revision: 3721 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: Add the information on incompatible locales between Sweden and England resulting in different treatment of numbers. Maybe they will fix their program before the next round of proposals get written. Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Fri Apr 2 15:45:43 2004 @@ -60,9 +60,25 @@ to our consortium-proposal may still make further changes neccessary. We also had problems with the CPF editor (import and synchronization problems) but hope we fixed all remaining inaccuracies. - -XXXFIXME: Do we explain to the EP how their program is broken w.r.t. import? -XXX lac thinks, yes, but not here, don't be critical here. + +We have also discovered a problem which may plague others. In +Sweden, the correct way to write 'one million, two hundred thirty-seven, +and five tenths is': 1.237,5 + +This is precisely the opposite of what is correct in England, or the USA, +where it is: 1,237.5 + +Note the swapped commas and periods. Now when Swedes create a CPF, +using the tool, their locales are configured to produce this X.YYY,Z +format. And provided they only share data with other people who are +configured to use this format, all works gloriously well. But as +soon as they start to share data with somebody who uses the opposite +nomenclature, because the program supplied either does not store, +does not check, or does not handle 'what was the locale of the person +who created this file' then the new user will see 1.237,5 as +one and 237 thousandths. This explains why you thought we had +estimated our costs in kilo-euros, when we were certain that we +had not. It's a locale and language problem. **Action: Also the reduction of the language user involvement already represents a reduction in work and required budget.** From alastair at codespeak.net Fri Apr 2 15:55:56 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Fri, 2 Apr 2004 15:55:56 +0200 (MEST) Subject: [pypy-svn] r3722 - pypy/trunk/doc/funding Message-ID: <20040402135556.4084A5A142@thoth.codespeak.net> Author: alastair Date: Fri Apr 2 15:55:55 2004 New Revision: 3722 Modified: pypy/trunk/doc/funding/B4.resources.txt Log: Alex Martelli: Germany -> Italy Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Fri Apr 2 15:55:55 2004 @@ -340,7 +340,7 @@ :: Role: Technical Partner - Country: Germany + Country: Italy Contact: Alessandro Martelli **Alex Martelli**: Best-selling author of *Python in a From hpk at codespeak.net Fri Apr 2 16:09:08 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Fri, 2 Apr 2004 16:09:08 +0200 (MEST) Subject: [pypy-svn] r3723 - pypy/trunk/doc/funding Message-ID: <20040402140908.D99255A142@thoth.codespeak.net> Author: hpk Date: Fri Apr 2 16:09:08 2004 New Revision: 3723 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: supposedly fixed a ReST-Bullet issue Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Fri Apr 2 16:09:08 2004 @@ -16,13 +16,15 @@ The PyPy project can be divided into three phases: -- Phase 1: Building a Novel Language Research Tool. The core functionality of PyPy itself must first be developed, using our novel and flexible approach of -Object Spaces. +- Phase 1: Building a Novel Language Research Tool. The core + functionality of PyPy itself must first be developed, using our novel + and flexible approach of Object Spaces. -- Phase 2: High Perfomance. This code base can be used as an research/integration platform of - choice. +- Phase 2: High Perfomance. This code base can be used as an + research/integration platform of choice. -- Phase 3: Validation & Flexibility. Specific applications can be implemented and disseminated. +- Phase 3: Validation & Flexibility. Specific applications can be + implemented and disseminated. Phase 1 is a prerequisite for Phases 2 and 3; Phases 2 and 3 are reasonably independent from each other. From lac at codespeak.net Fri Apr 2 17:35:45 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Fri, 2 Apr 2004 17:35:45 +0200 (MEST) Subject: [pypy-svn] r3728 - pypy/trunk/doc/funding/negotiations Message-ID: <20040402153545.D3BA75A142@thoth.codespeak.net> Author: lac Date: Fri Apr 2 17:35:45 2004 New Revision: 3728 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: add more fiddly changes. Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Fri Apr 2 17:35:45 2004 @@ -171,7 +171,8 @@ various reseach results on building a highly flexible and modular interpreter will be published on conferences (see D05.1, D05.3, D05.4). -XXXFIXME B6.0 Introduction still uses old naming. +FIXME: where do we describe the first phase in more detail so that it + clear we are new? That should be referenced here. **Action: The DoW will be modified to clarify this [multithreading] issue**. @@ -184,8 +185,11 @@ pioneers ways to allow making this decision much later and well encapsulated (D05.3, D05.4). Moreover, massive parallelism with millions of threads will be both practical and easy to program without -consuming operating system resources (D07.1, D07.3, D07.4) This is an -extremely significant development, of particular interest to the Ga +consuming operating system resources (D07.1, D07.3, D07.4). This is not +the case with today's commercially significant languages. This extremely +significant development is of particular interest to people +involved in the production of Massively Multi-Player Online Games, +or complex simulations of any sort. **Action: The DoW will be modified to make it clearer what type of tests we are referring to.** @@ -205,7 +209,7 @@ level and enabling Semantic Web applications. The WP09_ and WP10_ have been updated accordingly. -XXXFIXME see that this is done. Also B6.0 Intro uses old name of the phase 1. +XXXFIXME see that this is done. **Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** From lac at codespeak.net Sun Apr 4 13:22:58 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Sun, 4 Apr 2004 13:22:58 +0200 (MEST) Subject: [pypy-svn] r3732 - pypy/trunk/doc/funding Message-ID: <20040404112258.50B905A14A@thoth.codespeak.net> Author: lac Date: Sun Apr 4 13:22:56 2004 New Revision: 3732 Modified: pypy/trunk/doc/funding/B4.resources.txt Log: reordered things so that key personel go with where they now work. B0.0 has the participants numbered incorrectly, 1 2 4 5 6 7 8 9 10. I don't know whether renumbering will screw things up. Also, I put the PBF as the last entry in B4.resources. If it were to follow the order of B0.0's table, it would be second. I suggest moving the PBF from 2nd to 9th and reordering B0.0, but am afraid that the numbers and the order are significant for the CFP so am too scared to touch it. Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Sun Apr 4 13:22:56 2004 @@ -48,70 +48,6 @@ administrations across Europe, an innovative use of the Zope and Python platform. -AB Strakt -+++++++++ - -:: - - Role: Project Management & Technical Partner - Country: Sweden - Contact: Jacob Hall?n - -AB Strakt (http://www.strakt.com) is a software product developing -company located in G?teborg, Sweden. The main product of the company -is CAPS, a platform for constructing collaborative workflow -systems. On top of this platform the company has built a number of -applications; helpdesk, project management, customer relations -management and procurement. All products are built in Python. Strakt -is involved in the development of several OpenSource projects, which -in one way or another play a role in the company's software -development. The main development platform is Linux. The company has -12 full time employees, of which one resides in Italy and one in the -Netherlands, and 6 part time employees. The company was formed in -January 2001. - -Key Personnel -~~~~~~~~~~~~~ - -**Jacob Hall?n**, born 1958, comes to his position as co-founder and CTO -of AB Strakt from being a Technical Manager and international -standards expert at the LIBRIS Department of the Royal Library. He was -the LIBRIS representative in the EU funded ONE-2 project. Before this, -he was the CEO of NetGuide Scandinavia AB, one of the first internet -services companies in Sweden. Mr Hall?n has also been a Computer -Science and Programming teacher and an army officer. Throughout his -career he has been managing projects varying from 1200 participant -conventions down to 3 person development projects. He has also done -electronics development and microcontroller programming, winning two -innovation awards in the process. Mr Hall?n is chairman of the Python -Business Forum. - -**Laura Creighton**: Co-founder and lead investor of AB Strakt, Treasurer -of the PBF. Studied Physics (csc minor) at the University of Toronto, -and later instructed there in Physics and Computer Science, while -simultaneously working for the Canadian Armed Forces, teaching -programming to non-programmers, and assisting with research in Human -Factors Engineering and Learning Techniques. Moving to the US, she -consulted for software companies and government institutions, taught -Unix, project management, and interpersonal relations, and wrote a -geophysical simulation system. She brings strong connections in -financial and government sectors, and was an Open Source advocate -before the term was coined. Her passions: programming, empowerment of -average citizens, and the Open Society. - -**Anna Ravenscroft**: Started programming with Python in 2002, presenting -papers on teaching Python, serving as track chair at EuroPython and -OSCON, writing and technical-editing books and articles. Before 2002, -Instruction Administrator for a public transport company, managing -projects, teaching, developing course material, creating -websites. Earlier, Office Manager for a small training company, -creating and editing training documents and administering the firm's -NT LAN. Up to 1994, Distribution Coordinator for a large Financial -Services company, providing field communications and training for a -sales force of 7500. In the 1980's, served as Psychological -Operations Specialist in the US Army, receiving an Honors Degree in -Russian. Education: Liberal Arts, Univ. of MN. - University of Southampton +++++++++++++++++++++++++ @@ -148,36 +84,54 @@ also a member and contributor of the TUNES Project for a Free Reflective Computing System. -Python Business Forum -+++++++++++++++++++++ - -:: +**Michael Hudson** was born in 1978 in the United Kingdom. He holds a +first class degree in Mathematics from the University of Cambridge and +took the Certificate of Advanced Study in Mathematics at the same +institution. He is currently studying for a PhD in Algebra at the +University of Bristol. He has been a member of the wider Python +community since 1998 and has had commit rights to the Python core +since August 2001. He was release manager for the 2.2.1 release and +made many contributions of code over the years. He is the chairman of +the EuroPython Society and is a member of the PSF and the PBF. - Role: Dissemination - Country: Europe - Contact: Holger Krekel +AB Strakt ++++++++++ -The PBF (http://python-in-business.org) is an industry organisation -for companies where Python is a central part of the business -model. The PBF is registered as a non-profit organisation under -Swedish law. It has approximately 50 SME members. The Forum has a -board, which focuses on administration and strategic issues, while the -main activities occur in Special Interest Groups (SIGs). Each SIG -controls its own activities but reports to the board in financial -matters. +:: -Activities of the PBF include sharing business leads, marketing Python -as a programming platform and assisting in the quality assurance for -the main implementation of the language. + Role: Project Management & Technical Partner + Country: Sweden + Contact: Jacob Hall?n -The PBF will form a PyPy SIG with **Holger Krekel** as chairman to -handle its involvement in the project. Membership in EU funded activities -will be restricted to Members of the EU and the Candidate countries, as -part of the charter of this SIG. +AB Strakt (http://www.strakt.com) is a software product developing +company located in G?teborg, Sweden. The main product of the company +is CAPS, a platform for constructing collaborative workflow +systems. On top of this platform the company has built a number of +applications; helpdesk, project management, customer relations +management and procurement. All products are built in Python. Strakt +is involved in the development of several OpenSource projects, which +in one way or another play a role in the company's software +development. The main development platform is Linux. The company has +12 full time employees, of which one resides in Italy and one in the +Netherlands, and 6 part time employees. The company was formed in +January 2001. Key Personnel ~~~~~~~~~~~~~ +**Jacob Hall?n**, born 1958, comes to his position as co-founder and CTO +of AB Strakt from being a Technical Manager and international +standards expert at the LIBRIS Department of the Royal Library. He was +the LIBRIS representative in the EU funded ONE-2 project. Before this, +he was the CEO of NetGuide Scandinavia AB, one of the first internet +services companies in Sweden. Mr Hall?n has also been a Computer +Science and Programming teacher and an army officer. Throughout his +career he has been managing projects varying from 1200 participant +conventions down to 3 person development projects. He has also done +electronics development and microcontroller programming, winning two +innovation awards in the process. Mr Hall?n is also chairman of the Python +Business Forum. + **Tim Peters**: Over 20 years top-tier industrial experience in programming language implementation and high-performance computing. 1979-1988, Cray Research: Compiler development, Group @@ -207,21 +161,18 @@ re-implementation/design of Python, reflection, lookup and dispatch optimization. - -**Michael Hudson** was born in 1978 in the United Kingdom. He holds a -first class degree in Mathematics from the University of Cambridge and -took the Certificate of Advanced Study in Mathematics at the same -institution. He is currently studying for a PhD in Algebra at the -University of Bristol. He has been a member of the wider Python -community since 1998 and has had commit rights to the Python core -since August 2001. He was release manager for the 2.2.1 release and -made many contributions of code over the years. He was a track chair -at EuroPython 2003 and is a member of the PSF and the PBF. - - -Some of the above personnel may also be hired by other partners to do -technical development. - +**Laura Creighton**: Co-founder and lead investor of AB Strakt, Treasurer +of the PBF. Studied Physics (csc minor) at the University of Toronto, +and later instructed there in Physics and Computer Science, while +simultaneously working for the Canadian Armed Forces, teaching +programming to non-programmers, and assisting with research in Human +Factors Engineering and Learning Techniques. Moving to the US, she +consulted for software companies and government institutions, taught +Unix, project management, and interpersonal relations, and wrote a +geophysical simulation system. She brings strong connections in +financial and government sectors, and was an Open Source advocate +before the term was coined. Her passions: programming, empowerment of +ordinary citizens, and the Open Society. Logilab +++++++ @@ -320,6 +271,9 @@ Country: Germany Contact: Holger Krekel +Key Personnel +~~~~~~~~~~~~~ + **Holger Krekel**, born 1969 in Frankfurt a.M., began in 1985 to work as a lead programmer producing games for Electronic Arts. He went to university, gave courses in Prolog, C, Assembler, mathematics and @@ -333,7 +287,6 @@ development and some of the first coding Sprints in Europe and became one of the initiators of the PyPy project. - Martelli ++++++++ @@ -343,6 +296,9 @@ Country: Italy Contact: Alessandro Martelli +Key Personnel +~~~~~~~~~~~~~ + **Alex Martelli**: Best-selling author of *Python in a Nutshell*. Co-editor of *Python Cookbook* . ActiveState 2002 "Activators' Choice" award. PSF member, Python language developer, PBF @@ -357,6 +313,19 @@ 1980, Electronic Engineering, Bologna University, 100/100 magna cum laude. +**Anna Ravenscroft**: Started programming with Python in 2002, presenting +papers on teaching Python, serving as track chair at EuroPython and +OSCON, writing and technical-editing books and articles. Before 2002, +Instruction Administrator for a public transport company, managing +projects, teaching, developing course material, creating +websites. Earlier, Office Manager for a small training company, +creating and editing training documents and administering the firm's +NT LAN. Up to 1994, Distribution Coordinator for a large Financial +Services company, providing field communications and training for a +sales force of 7500. In the 1980's, served as Psychological +Operations Specialist in the US Army, receiving an Honors Degree in +Russian. Education: Liberal Arts, Univ. of MN. + Tismer ++++++ @@ -366,6 +335,9 @@ Country: Germany Contact: Christian Tismer +Key Personnel +~~~~~~~~~~~~~ + **Christian Tismer**: Born 1956 in Jena, Germany, studied Math, Physics and Informatics at the Free University of Berlin, diploma on Adaptive Huffman Coding. He has been working for Pharmaceutic Research @@ -377,7 +349,34 @@ Web and database applications. Converted to Python in 1997, founded Python Starship, became Python core developer. He translates Python books into German, is the author of the Stackless Python extension to -be merged into PyPy, and belongs to the founders of the PyPy project. +be merged into PyPy, and is one of the founders of the PyPy project. + +Python Business Forum ++++++++++++++++++++++ + +:: + + Role: Dissemination + Country: Europe + Contact: Holger Krekel + +The PBF (http://python-in-business.org) is an industry organisation +of companies where Python is a central part of the business +model. The PBF is registered as a non-profit organisation under +Swedish law. It has approximately 50 SME members. The Forum has a +board, which focuses on administration and strategic issues, while the +main activities occur in Special Interest Groups (SIGs). Each SIG +controls its own activities but reports to the board in financial +matters. + +Activities of the PBF include sharing business leads, marketing Python +as a programming platform and assisting in the quality assurance for +the main implementation of the language. + +The PBF will form a PyPy SIG with **Holger Krekel** as chairman to +handle its involvement in the project. Membership in EU funded activities +will be restricted to Members of the EU and the Candidate countries, as +part of the charter of this SIG. Sub-contracting --------------- From lac at codespeak.net Sun Apr 4 13:49:19 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Sun, 4 Apr 2004 13:49:19 +0200 (MEST) Subject: [pypy-svn] r3733 - pypy/trunk/doc/funding Message-ID: <20040404114919.E8F5A5A14A@thoth.codespeak.net> Author: lac Date: Sun Apr 4 13:49:19 2004 New Revision: 3733 Modified: pypy/trunk/doc/funding/B4.resources.txt Log: Tidy things up a bit, and remember to boast that Strakt has Samuele. Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Sun Apr 4 13:49:19 2004 @@ -84,15 +84,16 @@ also a member and contributor of the TUNES Project for a Free Reflective Computing System. -**Michael Hudson** was born in 1978 in the United Kingdom. He holds a +**Michael Hudson** was born in 1978 in the United Kingdom. He holds a first class degree in Mathematics from the University of Cambridge and took the Certificate of Advanced Study in Mathematics at the same institution. He is currently studying for a PhD in Algebra at the -University of Bristol. He has been a member of the wider Python -community since 1998 and has had commit rights to the Python core -since August 2001. He was release manager for the 2.2.1 release and -made many contributions of code over the years. He is the chairman of -the EuroPython Society and is a member of the PSF and the PBF. +University of Bristol, but should join USH upon graduation. He has +been a member of the wider Python community since 1998 and has had +commit rights to the Python core since August 2001. He was release +manager for the 2.2.1 release and made many contributions of code over +the years. He is the chairman of the EuroPython Society and is a +member of the Python Software Foundation (PSF). AB Strakt +++++++++ @@ -112,8 +113,7 @@ is involved in the development of several OpenSource projects, which in one way or another play a role in the company's software development. The main development platform is Linux. The company has -12 full time employees, of which one resides in Italy and one in the -Netherlands, and 6 part time employees. The company was formed in +13 full time employees, and 6 part time employees. The company was formed in January 2001. Key Personnel @@ -126,8 +126,8 @@ he was the CEO of NetGuide Scandinavia AB, one of the first internet services companies in Sweden. Mr Hall?n has also been a Computer Science and Programming teacher and an army officer. Throughout his -career he has been managing projects varying from 1200 participant -conventions down to 3 person development projects. He has also done +career he has managed many projects which varied from 1200 participant +conventions down to 3 person development tasks. He has also done electronics development and microcontroller programming, winning two innovation awards in the process. Mr Hall?n is also chairman of the Python Business Forum. @@ -156,8 +156,8 @@ now a main developer of Jython, working on internals, compilers and Java integration, and was author of Jython Essentials (O'Reilly, 2002). He is also involved on the ongoing design of Python. For his -contributions to Python/Jython he has been nominated member of the -PSF. He brings to the project his know-how on languages, +contributions to Python/Jython he has been nominated a member of the +Python Software Foundation. He brings to the project his know-how on languages, re-implementation/design of Python, reflection, lookup and dispatch optimization. @@ -199,7 +199,7 @@ the Python languages, namely XML processing, logic and aspect-oriented programming and static checking. Since Logilab has been committed to free software from its creation in 2000, most of these projects are -available under a free software license from the Logilab.Org website. +available under a free software license from the Logilab.org website. Key Personnel @@ -416,19 +416,26 @@ project as well as the author of Psyco, the blueprint for how to do optimisation in PyPy. - Strakt ++++++ brings management knowhow and entrepreneurial skills to the project as well as showcasing how to apply the results of the project in a major business application. -Strakt will also bring Tim Peters to the project. Tim has always been -a core developer of the Python language, what we call CPython. Apart -from being an outstanding programmer, Tim has intimate knowledge about -all the details of the Python language definition. As Director of the -Python Software foundation, Tim Peters is also responsible for the -Intellectual Property of the existing Python language. +Strakt will also bring Tim Peters and Samuele Pedroni to the project. +Tim Peters been a core developer of the Python language, what we call +CPython, from its inception. Apart from being an outstanding +programmer, Tim has intimate knowledge about all the details of the +Python language definition. As Director of the Python Software +foundation, Tim Peters is also responsible for the Intellectual +Property of the existing Python language. + +Samuele Pedroni is currently the main developer of Jython (the +industry-strength Java re-implementation of Python), working on +internals, compilers and Java integration. A member of the Python +Software Foundation, he brings to the project his know-how on +languages, re-implementation/design of Python, reflection, lookup and +dispatch optimization. With 13 full time and 6 part time employees, Strakt is an SME representative. Strakt is particularly interested in this project @@ -512,12 +519,7 @@ products, which show their capability to handle large undertakings. Krekel has demonstrated his ability to deliver results during the -prototype phase that has preceded this application. For the rest of -the PBF, it should be noted that the chairman of the SIG is a member -of the project, as well as 4 of the members of the PBF board; Chauvat, -Creighton, Hall?n and Martelli. The stated merits of these people and -their respective organisations should vouch for the PBF fulfilling its -undertakings. +prototype phase that has preceded this application. Changemaker has a number of documented successful projects. Further details can be found under B 5.1. From arigo at codespeak.net Sun Apr 4 14:18:24 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Sun, 4 Apr 2004 14:18:24 +0200 (MEST) Subject: [pypy-svn] r3734 - pypy/trunk/doc/funding Message-ID: <20040404121824.3C40B5A14A@thoth.codespeak.net> Author: arigo Date: Sun Apr 4 14:18:23 2004 New Revision: 3734 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt Log: - Copy the 'performance' goal from WP09 to B6.0. - Typos. Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Sun Apr 4 14:18:23 2004 @@ -412,9 +412,9 @@ python-logic libraries, you have to ressort to an unfamiliar custom syntax. These libraries would be much more useful if they were better integrated with the language. WP09_ will specifically experiment with -rewriting parts of the python-logic libraries in RPython and enhance the -syntax to support them, with the goal of supporting Semantic Web -applications. +rewriting parts of the python-logic libraries in RPython for integration +and performance, and enhance the syntax to support them, with the goal of +supporting Semantic Web and knowledge representation applications. Interpreter adaptations Modified: pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt Sun Apr 4 14:18:23 2004 @@ -49,9 +49,9 @@ **Task 3** This logic programming enabled Python interpreter will then be used to -support fraeworks for Semantic Web applications that are on-going at +support frameworks for Semantic Web applications that are on-going at Logilab and DFKI and which are related to RDF-based approaches to -knowledge represenation and the integration of search into the Zope +knowledge representation and the integration of search into the Zope application server. .. include:: wp-tableend.asc From lac at codespeak.net Sun Apr 4 14:25:46 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Sun, 4 Apr 2004 14:25:46 +0200 (MEST) Subject: [pypy-svn] r3735 - pypy/trunk/doc/funding Message-ID: <20040404122546.D36AC5A14A@thoth.codespeak.net> Author: lac Date: Sun Apr 4 14:25:46 2004 New Revision: 3735 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: fiddly bits, with one sentence that bothered me, and fixing typo, and not much Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Sun Apr 4 14:25:46 2004 @@ -6,12 +6,17 @@ --------------------------- Current language implementations are static and hard to modify by -programmers that use them ("language users"). -Even the implementations of open-source dynamic languages have -non-flexible designs crafted by a small group of developers. While -designing a good programming language is no easy task, often -application developers seek more support and configurability of their -language. This is especially the case for the rising number of +the programmers that use them ("language users"). +Even the implementations of Open Source dynamic languages have +non-flexible designs crafted by a small group of developers. +(This has always been a 'given'. The language designers, or designers, +make certain tradeoffs in their language implementation, and the +language users are stuck with what was decided, even if it does not +suit their particular needs.) + +With a new flexible architecture, it is now possible to give +application developers more flexibility and configurability in their +preferred language. This is especially the case for the rising number of specialized runtime environments where small memory footprints, concurrency or real-time features are essential. @@ -20,7 +25,7 @@ suitable, so that VHLL are usually implemented by introducing a bytecode and interpretation level, resulting in a loss of performance. This is in contrast to lower-level languages such as C, which offer -performance but greatly decrease productivity. +better performance but greatly decrease productivity. The architectures of current interpreter implementations are a compromise between initial simplicity, Unix-style portability and @@ -37,11 +42,11 @@ compiler, adding a significant amount of code and complexity and further impairing the flexibility. [S03]_ -Consequently, application developers are often left with bad choices -not only regarding productivity versus performance, but they have to work -around hard-wired characteristics built into the languages. Instead they -would like to adapt and configure a VHLL to suit their needs while at the same -time developing on top of a custom but standardized language offering both +Consequently, application developers are often left with bad choices - +not only regarding productivity versus performance, but also involving the +hard-wired characteristics built into the languages. They would prefer +to adapt and configure a VHLL to suit their needs while at the same +time developing on top of a customized but standard language offering both productivity and performance. Quantified specific objective @@ -185,7 +190,7 @@ the interpreter's main dispatch loop, handles control flow and supporting data structures (frame stack, bytecode objects...), while each individual operation on objects is dispatched to the Object Space. In effect, - an Object Space explicitely captures the notion of "object library". + an Object Space explicitly captures the notion of "object library". * Object Spaces simultaneously capture the notion of "abstract domains": indeed, building on this architecture, **abstract interpretation** based From pedronis at codespeak.net Sun Apr 4 16:12:13 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Sun, 4 Apr 2004 16:12:13 +0200 (MEST) Subject: [pypy-svn] r3736 - pypy/trunk/doc/funding Message-ID: <20040404141213.657B75A14A@thoth.codespeak.net> Author: pedronis Date: Sun Apr 4 16:12:12 2004 New Revision: 3736 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: typo Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Sun Apr 4 16:12:12 2004 @@ -402,7 +402,7 @@ definitions, a process which is clumsy and fragile and thus impractical. Instead it would be preferable to be able to hook into the internals of an interpreter and extend its behaviour, e.g. the method invocation -mecanisms. Specifically, WP10_ will experiment with having first-class +mechanisms. Specifically, WP10_ will experiment with having first-class hooks for checking arguments and return values, or supporting efficiently "around/after and before" behaviours like the similar concepts in the Common Lisp Object System. From pedronis at codespeak.net Sun Apr 4 16:15:30 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Sun, 4 Apr 2004 16:15:30 +0200 (MEST) Subject: [pypy-svn] r3737 - pypy/trunk/doc/funding Message-ID: <20040404141530.3C0275A14A@thoth.codespeak.net> Author: pedronis Date: Sun Apr 4 16:15:29 2004 New Revision: 3737 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: explicit reference to performance in Phase2 short description, otherwise the title makes little sense. Feel free to readjust. Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Sun Apr 4 16:15:29 2004 @@ -21,7 +21,7 @@ and flexible approach of Object Spaces. - Phase 2: High Perfomance. This code base can be used as an - research/integration platform of choice. + research/integration platform of choice, targetting especially perfomance. - Phase 3: Validation & Flexibility. Specific applications can be implemented and disseminated. From pedronis at codespeak.net Sun Apr 4 18:10:08 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Sun, 4 Apr 2004 18:10:08 +0200 (MEST) Subject: [pypy-svn] r3738 - pypy/trunk/doc/funding Message-ID: <20040404161008.2E8635A14A@thoth.codespeak.net> Author: pedronis Date: Sun Apr 4 18:10:07 2004 New Revision: 3738 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: spelling fixes Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Sun Apr 4 18:10:07 2004 @@ -20,8 +20,8 @@ functionality of PyPy itself must first be developed, using our novel and flexible approach of Object Spaces. -- Phase 2: High Perfomance. This code base can be used as an - research/integration platform of choice, targetting especially perfomance. +- Phase 2: High Performance. This code base can be used as an + research/integration platform of choice, targeting especially performance. - Phase 3: Validation & Flexibility. Specific applications can be implemented and disseminated. @@ -285,7 +285,7 @@ logic programming. An inference engine already exists in the python-logic libraries. Successful integration of these concepts, far from regular imperative programming, would provide a validation of the level of - flexibility we achieved in Phase 1. Similarily, WP10_ will experiment with + flexibility we achieved in Phase 1. Similarly, WP10_ will experiment with OO concepts not originally present in Python, like aspect-oriented programming and design-by-contract. @@ -409,7 +409,7 @@ WP09_ will explore the integration of logic programming techniques. For example, today to use a constrain solver like the one from the -python-logic libraries, you have to ressort to an unfamiliar custom +python-logic libraries, you have to resort to an unfamiliar custom syntax. These libraries would be much more useful if they were better integrated with the language. WP09_ will specifically experiment with rewriting parts of the python-logic libraries in RPython for integration From tismer at codespeak.net Sun Apr 4 19:54:18 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Sun, 4 Apr 2004 19:54:18 +0200 (MEST) Subject: [pypy-svn] r3739 - in pypy/trunk/doc/funding: makedoc negotiations Message-ID: <20040404175418.3F1F85A14A@thoth.codespeak.net> Author: tismer Date: Sun Apr 4 19:54:17 2004 New Revision: 3739 Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf Log: updated current document, after svn works again (phew) Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary files. No diff available. From arigo at codespeak.net Sun Apr 4 20:12:37 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Sun, 4 Apr 2004 20:12:37 +0200 (MEST) Subject: [pypy-svn] r3740 - pypy/trunk/doc/funding Message-ID: <20040404181237.136E05A14A@thoth.codespeak.net> Author: arigo Date: Sun Apr 4 20:12:37 2004 New Revision: 3740 Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Log: Typo. Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp14_documentation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Sun Apr 4 20:12:37 2004 @@ -46,7 +46,7 @@ **Task 2** -Provide longer, detailed reports to the commision and scientific committees +Provide longer, detailed reports to the commission and scientific committees advising the Commission on technical and agile development issues. **Task 3** From arigo at codespeak.net Sun Apr 4 20:13:21 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Sun, 4 Apr 2004 20:13:21 +0200 (MEST) Subject: [pypy-svn] r3741 - pypy/trunk/doc/funding Message-ID: <20040404181321.29E465A14A@thoth.codespeak.net> Author: arigo Date: Sun Apr 4 20:13:20 2004 New Revision: 3741 Modified: pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Log: Sorry bea if this conflicts with yours. I had to fix it to fit the report to Axis and their answer into the 24-months timeline. Modified: pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp11_embed_in_hardware.txt Sun Apr 4 20:13:20 2004 @@ -40,8 +40,9 @@ **Task 1** -Write report to Axis showcasing usage of PyPy custom version and the build- and configuration tool +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_. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From hpk at codespeak.net Sun Apr 4 20:15:21 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Sun, 4 Apr 2004 20:15:21 +0200 (MEST) Subject: [pypy-svn] r3742 - pypy/trunk/doc/funding Message-ID: <20040404181521.028105A14A@thoth.codespeak.net> Author: hpk Date: Sun Apr 4 20:15:21 2004 New Revision: 3742 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: - rewrote the first two sentences of B6.0 to talk about the novel stuff we are doing not the already-existing stuff we are repeating Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Sun Apr 4 20:15:21 2004 @@ -52,20 +52,20 @@ Phase 1 ------- -The first goal is to develop a reasonably complete Python interpreter written -in Python. It must be entirely compatible with the language specification. It +The first phase will provide a novel architecture for research of a VHLL language. +It is to be compatible with the language specification of Python and consists of the following major parts: - A *bytecode compiler,* which inputs Python source code and outputs an internal - intermediate representation, the *bytecode.* + intermediate representation, the *bytecode*. - A *bytecode interpreter,* which interprets bytecodes and manages the supporting internal structures (frames, exception tracebacks...). It considers objects as black boxes and delegates all individual operations on them to a library of built-in types, the *Object Space.* -- An *Object Space,* which captures the semantics of the various types of the - language. +- An *Object Space,* which captures the semantics of the various types + and objects of the language. This subdivision is common among interpreter implementations, although we place special emphasis on the library of built-in types and its separation From arigo at codespeak.net Sun Apr 4 20:20:34 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Sun, 4 Apr 2004 20:20:34 +0200 (MEST) Subject: [pypy-svn] r3743 - pypy/trunk/doc/funding Message-ID: <20040404182034.E63815A14A@thoth.codespeak.net> Author: arigo Date: Sun Apr 4 20:20:34 2004 New Revision: 3743 Modified: pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt Log: Split D10.2 into two deliverables following the task structure. Modified: pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp10_aspects_and_contracts.txt Sun Apr 4 20:20:34 2004 @@ -86,7 +86,9 @@ - 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 From arigo at codespeak.net Sun Apr 4 20:56:19 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Sun, 4 Apr 2004 20:56:19 +0200 (MEST) Subject: [pypy-svn] r3744 - pypy/trunk/doc/funding Message-ID: <20040404185619.E61355A14A@thoth.codespeak.net> Author: arigo Date: Sun Apr 4 20:56:19 2004 New Revision: 3744 Modified: pypy/trunk/doc/funding/B6.7.wp06_core_optimisations.txt Log: Slight bump on the description and deliverables, since this WP runs for 15 months. Modified: pypy/trunk/doc/funding/B6.7.wp06_core_optimisations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp06_core_optimisations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp06_core_optimisations.txt Sun Apr 4 20:56:19 2004 @@ -35,7 +35,12 @@ 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** @@ -50,6 +55,7 @@ Merge the results back into the optimization 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,9 +63,11 @@ **Deliverables** -- D06.1 Publication of performance statistics for different +- D06.1 Integrate the first core optimization 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.2 Publication of novel heuristic techniques +- D06.3 Publication of novel heuristic techniques .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From bea at codespeak.net Sun Apr 4 21:06:15 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Sun, 4 Apr 2004 21:06:15 +0200 (MEST) Subject: [pypy-svn] r3745 - pypy/trunk/doc/funding Message-ID: <20040404190615.602AE5A31A@thoth.codespeak.net> Author: bea Date: Sun Apr 4 21:06:13 2004 New Revision: 3745 Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Log: Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp14_documentation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Sun Apr 4 21:06:13 2004 @@ -41,7 +41,8 @@ - Gathering feedback from participants, present a detailed joint report about agile methodologies employed by the project. -- Ensure that all reports and publications are effectively disseminated to +- Ensure that all reports and publications that are being produced as part of + workpackages 1-13 are effectively disseminated to python and non-python communities. **Task 2** @@ -99,7 +100,7 @@ - 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 three domain specific Workshops during phase 3 with various business and research +- 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) From arigo at codespeak.net Sun Apr 4 21:06:50 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Sun, 4 Apr 2004 21:06:50 +0200 (MEST) Subject: [pypy-svn] r3746 - pypy/trunk/doc/funding Message-ID: <20040404190650.3E2F05A695@thoth.codespeak.net> Author: arigo Date: Sun Apr 4 21:06:48 2004 New Revision: 3746 Modified: pypy/trunk/doc/funding/B6.7.wp03_synchronisation.txt Log: Added "keep in sync with CPython" as an expected result. Modified: pypy/trunk/doc/funding/B6.7.wp03_synchronisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp03_synchronisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp03_synchronisation.txt Sun Apr 4 21:06:48 2004 @@ -65,4 +65,7 @@ **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 From arigo at codespeak.net Sun Apr 4 21:08:35 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Sun, 4 Apr 2004 21:08:35 +0200 (MEST) Subject: [pypy-svn] r3747 - pypy/trunk/doc/funding Message-ID: <20040404190835.AAAE65A652@thoth.codespeak.net> Author: arigo Date: Sun Apr 4 21:08:34 2004 New Revision: 3747 Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Log: Typo. Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Sun Apr 4 21:08:34 2004 @@ -76,7 +76,7 @@ - D02.4 several website revisions -- D02.5 release automated (unit-)testing framework with html/pdf reports, +- D02.5 release automated (unit-)testing framework with html/pdf reports .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From bea at codespeak.net Sun Apr 4 21:11:12 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Sun, 4 Apr 2004 21:11:12 +0200 (MEST) Subject: [pypy-svn] r3748 - pypy/trunk/doc/funding Message-ID: <20040404191112.903665A652@thoth.codespeak.net> Author: bea Date: Sun Apr 4 21:11:11 2004 New Revision: 3748 Modified: pypy/trunk/doc/funding/B3.impact.txt Log: Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Sun Apr 4 21:11:11 2004 @@ -376,7 +376,7 @@ project, one after 6 months and the first review workshop and one at the end of the project in which we actively work with interested parties to analyze potential usage of PyPy process and prototype.We will also host - 3 domain specific workshops for SME:s within community, industrial stakeholders + 4 domain specific workshops for SME:s within community, industrial stakeholders within embedded software community and game developing companies to ensure a thorough dissemination of possibilities of PyPy usage From bea at codespeak.net Sun Apr 4 21:17:54 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Sun, 4 Apr 2004 21:17:54 +0200 (MEST) Subject: [pypy-svn] r3749 - pypy/trunk/doc/funding Message-ID: <20040404191754.469B85A652@thoth.codespeak.net> Author: bea Date: Sun Apr 4 21:17:52 2004 New Revision: 3749 Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Log: Modified: pypy/trunk/doc/funding/B6.7.wp14_documentation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp14_documentation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp14_documentation.txt Sun Apr 4 21:17:52 2004 @@ -36,13 +36,14 @@ Support the dissemination process at all levels. -- Write, disseminate and archive reports about each development sprint +- 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-13 are effectively disseminated to + workpackages 1-14 are effectively disseminated to python and non-python communities. **Task 2** @@ -114,7 +115,7 @@ Good documentation and dissemination to multiple business and research communities through promotion, workshops and conference. -Useful feedback on the practical flexibilty of our language research efforts. +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 From arigo at codespeak.net Sun Apr 4 21:24:29 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Sun, 4 Apr 2004 21:24:29 +0200 (MEST) Subject: [pypy-svn] r3750 - pypy/trunk/doc/funding Message-ID: <20040404192429.9E0925A652@thoth.codespeak.net> Author: arigo Date: Sun Apr 4 21:24:28 2004 New Revision: 3750 Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt Log: Updated the deliverables list. Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt ============================================================================== --- pypy/trunk/doc/funding/B6.6_deliverables_list.txt (original) +++ pypy/trunk/doc/funding/B6.6_deliverables_list.txt Sun Apr 4 21:24:28 2004 @@ -12,57 +12,93 @@ ===== ===================================================== ===== ==== ==== |dn| Deliverable sortformtitle |dd| |na| |dl| ===== ===================================================== ===== ==== ==== -D01.1 Collection and monitoring of reports 24 O PU +D01.1 Create QA plan for the project 6 O PU ----- ----------------------------------------------------- ----- ---- ---- -D01.2 Report to EU 24 O PU +D01.2 Collection and monitoring of reports 24 O PU ----- ----------------------------------------------------- ----- ---- ---- -D01.3 Organise meetings 24 O PU +D01.3 Report to EU 24 O PU ----- ----------------------------------------------------- ----- ---- ---- -D01.4 Create and maintain internal web site 24 O PU +D01.4 Organise meetings 24 O PU +----- ----------------------------------------------------- ----- ---- ---- +D01.5 Organize sprints 24 O PU +----- ----------------------------------------------------- ----- ---- ---- +D01.6 Create and maintain internal web site 24 O PU +----- ----------------------------------------------------- ----- ---- ---- +D01.7 Newsletter for external stakeholders 24 O PU ----- ----------------------------------------------------- ----- ---- ---- D02.1 Configuring, installation of all development tools 24 O PU ----- ----------------------------------------------------- ----- ---- ---- -D02.2 Http-server to present runtime/introspection 24 P PU +D02.2 A release scheme for PyPy versions 24 O PU ----- ----------------------------------------------------- ----- ---- ---- -D02.3 Several website revisions 24 O PU +D02.3 Http-server to present runtime/introspection 24 P PU ----- ----------------------------------------------------- ----- ---- ---- -D02.4 Automated (unit-)testing framework 24 P PU +D02.4 Several website revisions 24 O PU +----- ----------------------------------------------------- ----- ---- ---- +D02.5 Automated (unit-)testing framework 24 P PU ----- ----------------------------------------------------- ----- ---- ---- D03.1 A PyPy that supports a subset of the CPython API 24 P PU ----- ----------------------------------------------------- ----- ---- ---- -D03.2 A guide describing the porting of C extensions 24 R PU +D03.2 Report on supporting full C-extensions compatibility 24 R PU +----- ----------------------------------------------------- ----- ---- ---- +D03.3 A guide describing the porting of C extensions 24 R PU +----- ----------------------------------------------------- ----- ---- ---- +D04.1 Partial Python Implementation on top of CPython 6 P PU ----- ----------------------------------------------------- ----- ---- ---- -D04.1 Partial Python Implementation on top of CPython 9 P PU +D04.2 Complete Python Implementation on top of CPython 9 P PU ----- ----------------------------------------------------- ----- ---- ---- -D04.2 Complete Python implementation on top of CPython 9 P PU +D04.3 Report about the parser and bytecode compiler 10 R PU ----- ----------------------------------------------------- ----- ---- ---- -D05.1 Tool chain for translating and compiling RPython 9 P PU +D04.4 Release PyPy as a research tool 9 P PU +----- ----------------------------------------------------- ----- ---- ---- +D05.1 Publish on translating a very-high-level description 9 R PU ----- ----------------------------------------------------- ----- ---- ---- D05.2 A compiled, self-contained version of PyPy 9 P PU ----- ----------------------------------------------------- ----- ---- ---- -D06.1 Publication of statistics 24 R PU +D05.3 Publish on implementation with translation aspects 10 R PU +----- ----------------------------------------------------- ----- ---- ---- +D05.4 Publish on encapsulating low level language aspects 10 R PU +----- ----------------------------------------------------- ----- ---- ---- +D06.1 Integrate the first core optimization results 18 P PU +----- ----------------------------------------------------- ----- ---- ---- +D06.2 Publication of statistics for core objects 24 R PU +----- ----------------------------------------------------- ----- ---- ---- +D06.3 Publication of novel heuristic techniques 24 R PU +----- ----------------------------------------------------- ----- ---- ---- +D07.1 Support for massive parallelism 18 P PU ----- ----------------------------------------------------- ----- ---- ---- -D06.2 Publication of novel heuristic techniques 24 R PU +D07.2 Publish optimisation results 19 R PU ----- ----------------------------------------------------- ----- ---- ---- -D07.1 Support for Real-time massive parallelism 18 P PU +D07.3 Report about practical usages 18 R PU ----- ----------------------------------------------------- ----- ---- ---- -D07.2 Report on optimisation results 19 R PU +D07.4 Report on approaches for translator aspects 19 R PU ----- ----------------------------------------------------- ----- ---- ---- -D08.1 A processor back-end supporting i386 and PowerPC 18 P PU +D08.1 A processor back-end supporting Intel(tm) i386 18 P PU ----- ----------------------------------------------------- ----- ---- ---- -D08.2 A Just-In-Time compiler for PyPy 18 P PU +D08.2 A processor back-end supporting PowerPC 18 P PU ----- ----------------------------------------------------- ----- ---- ---- -D09.1 Constraint satisfaction engine and inference engine 24 P PU +D08.3 A portable low-level VM with a back-end 18 P PU ----- ----------------------------------------------------- ----- ---- ---- -D09.2 Assessment of benefits 24 R PU +D08.4 A Just-In-Time compiler for PyPy 18 P PU +----- ----------------------------------------------------- ----- ---- ---- +D08.5 Publish a report about the new JIT architecture 19 R PU +----- ----------------------------------------------------- ----- ---- ---- +D08.6 Publish a research report comparing JIT techniques 19 R PU +----- ----------------------------------------------------- ----- ---- ---- +D09.1 Initial constraint satisfaction and inference engine 18 P PU +----- ----------------------------------------------------- ----- ---- ---- +D09.2 Improved constraint satisfaction and inference engine 24 P PU +----- ----------------------------------------------------- ----- ---- ---- +D09.3 Assessment of benefits 24 R PU ----- ----------------------------------------------------- ----- ---- ---- D10.1 Aspect-oriented programming capabilities in PyPy 24 P PU ----- ----------------------------------------------------- ----- ---- ---- -D10.2 Design-by-contract and static checking capabilities 24 P PU +D10.2 Design-by-contract capabilities 24 P PU +----- ----------------------------------------------------- ----- ---- ---- +D10.3 Advanced static checking capabilities 24 P PU ----- ----------------------------------------------------- ----- ---- ---- -D11.1 Minimal interpreter suitable for embedded devices 24 P PU +D11.1 Written report to Axis Communication 21 R PU ----- ----------------------------------------------------- ----- ---- ---- -D11.2 Evaluation report to Axis Communication 24 R PU +D11.2 Documented feedback from Axis Communication 24 R PU ----- ----------------------------------------------------- ----- ---- ---- D12.1 Secure restricted execution of Python programs 24 P PU ----- ----------------------------------------------------- ----- ---- ---- @@ -74,13 +110,23 @@ ----- ----------------------------------------------------- ----- ---- ---- D13.2 A build- and configuration tool 24 P PU ----- ----------------------------------------------------- ----- ---- ---- +D13.3 A publication about PyPy code base and customization 24 R PU +----- ----------------------------------------------------- ----- ---- ---- D14.1 Report about Milestone/Phase 1 10 R PU ----- ----------------------------------------------------- ----- ---- ---- -D14.2 Report about Milestone/Phase 2 19 R PU +D14.2 Tutorials and a guide through the PyPy source code 15 R PU +----- ----------------------------------------------------- ----- ---- ---- +D14.3 Report about Milestone/Phase 2 19 R PU +----- ----------------------------------------------------- ----- ---- ---- +D14.4 Report about Milestone/Phase 3 25 R PU +----- ----------------------------------------------------- ----- ---- ---- +D14.5 Documentation of the development process 24 R PU +----- ----------------------------------------------------- ----- ---- ---- +D14.6 Organize three domain specific Workshops 24 O PU ----- ----------------------------------------------------- ----- ---- ---- -D14.3 Report about Milestone/Phase 3 25 R PU +D14.7 Arrange two nondomain specific workshops 24 O PU ----- ----------------------------------------------------- ----- ---- ---- -D14.4 Documentation of the development process 24 R PU +D14.8 Participation of PyPy members in conferences 24 O PU ===== ===================================================== ===== ==== ==== :DELETE:BEGIN From bea at codespeak.net Sun Apr 4 21:31:37 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Sun, 4 Apr 2004 21:31:37 +0200 (MEST) Subject: [pypy-svn] r3751 - pypy/trunk/doc/funding Message-ID: <20040404193137.88C235A652@thoth.codespeak.net> Author: bea Date: Sun Apr 4 21:31:36 2004 New Revision: 3751 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Sun Apr 4 21:31:36 2004 @@ -497,6 +497,11 @@ the project's results. Diagrams and schematics will be provided to illustrate fundamental concepts, as appropriate to the audience and the subject matter. +To ensure stakeholder participation and feedback that goes beyond the python community, +wp14_ also consists of arranging workshops ( 6 in total) to disseminate the ongoing +process- and development progress.The majority of the workshops are going to target important +stakeholderdomains and will primarily focus on disseminating PyPy results from an implementation +perspective, customized for the target groups different needs. Maintenance ----------- From bea at codespeak.net Sun Apr 4 21:34:04 2004 From: bea at codespeak.net (bea at codespeak.net) Date: Sun, 4 Apr 2004 21:34:04 +0200 (MEST) Subject: [pypy-svn] r3752 - pypy/trunk/doc/funding Message-ID: <20040404193404.6FF295A652@thoth.codespeak.net> Author: bea Date: Sun Apr 4 21:34:03 2004 New Revision: 3752 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Sun Apr 4 21:34:03 2004 @@ -500,7 +500,7 @@ To ensure stakeholder participation and feedback that goes beyond the python community, wp14_ also consists of arranging workshops ( 6 in total) to disseminate the ongoing process- and development progress.The majority of the workshops are going to target important -stakeholderdomains and will primarily focus on disseminating PyPy results from an implementation +stakeholder groups and will primarily focus on disseminating PyPy results from an implementation perspective, customized for the target groups different needs. Maintenance From hpk at codespeak.net Sun Apr 4 21:43:47 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Sun, 4 Apr 2004 21:43:47 +0200 (MEST) Subject: [pypy-svn] r3753 - pypy/trunk/doc/funding Message-ID: <20040404194347.A57B55A652@thoth.codespeak.net> Author: hpk Date: Sun Apr 4 21:43:46 2004 New Revision: 3753 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: reworked WP12 a bit to weaken the focus on sandbox-models and removed the duplicate mention of IBM's statement. added reference to CORBA Java/RMI instead of just ZEO (another python specific thing) Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Sun Apr 4 21:43:46 2004 @@ -32,24 +32,18 @@ **Task 1** -Build a "restricted execution" or sandbox model at the language level. -(It was removed from the official Python implementation because it was too -hard to maintain.) -Analyse various approaches in coordination with external specialists -from the industry. 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). +Research new security techniques by leveraging PyPy's flexible and accessible +architecture. Coordinate with WP14_ and consult with researchers from the IBM +Zurich Research Lab in particular. **Task 2** Build a distributed execution model at the language level by implementing network-transparent execution of Python programs. (Typical -libraries like the Zope Entreprise Objects (ZEO) require programs to be -aware of the remote execution model.) Analyse existing programming -languages that provide this feature and implement a prototype at the -Object Space level. +libraries like the Zope Enterprise Objects (ZEO) or CORBA/Java RMI +models require programs to be aware of the remote execution model.) +Analyse existing programming languages that provide this feature and +implement a prototype at the Object Space level. **Task 3** @@ -63,11 +57,14 @@ **Deliverables** -- D12.1 Release an experimental PyPy version which supports secure restricted execution of Python programs +- D12.1 Publish research results about approaches to implement security + models at the language level. -- D12.2 Release an experimental PyPy version which supports distributed execution of arbitrary Python programs +- D12.2 Release an experimental PyPy version which supports distributed + execution of arbitrary Python programs -- D12.3 Release an experimental PyPy version which supports persistent execution of arbitrary Python programs +- D12.3 Release an experimental PyPy version which supports persistent + execution of arbitrary Python programs .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From hpk at codespeak.net Sun Apr 4 21:50:42 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Sun, 4 Apr 2004 21:50:42 +0200 (MEST) Subject: [pypy-svn] r3754 - pypy/trunk/doc/funding Message-ID: <20040404195042.CF1E05AF46@thoth.codespeak.net> Author: hpk Date: Sun Apr 4 21:50:42 2004 New Revision: 3754 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: a bit more rewording/enhancing WP12 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Sun Apr 4 21:50:42 2004 @@ -42,8 +42,7 @@ implementing network-transparent execution of Python programs. (Typical libraries like the Zope Enterprise Objects (ZEO) or CORBA/Java RMI models require programs to be aware of the remote execution model.) -Analyse existing programming languages that provide this feature and -implement a prototype at the Object Space level. +Analyse existing techniques and apply them to PyPy flexible architecture. **Task 3** @@ -57,7 +56,7 @@ **Deliverables** -- D12.1 Publish research results about approaches to implement security +- D12.1 Publish results about approaches to implement security models at the language level. - D12.2 Release an experimental PyPy version which supports distributed From pedronis at codespeak.net Sun Apr 4 21:56:32 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Sun, 4 Apr 2004 21:56:32 +0200 (MEST) Subject: [pypy-svn] r3755 - pypy/trunk/doc/funding Message-ID: <20040404195632.02EB45AF46@thoth.codespeak.net> Author: pedronis Date: Sun Apr 4 21:56:32 2004 New Revision: 3755 Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt Log: QA plan to be available after first month 4 workshops Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt ============================================================================== --- pypy/trunk/doc/funding/B6.6_deliverables_list.txt (original) +++ pypy/trunk/doc/funding/B6.6_deliverables_list.txt Sun Apr 4 21:56:32 2004 @@ -12,7 +12,7 @@ ===== ===================================================== ===== ==== ==== |dn| Deliverable sortformtitle |dd| |na| |dl| ===== ===================================================== ===== ==== ==== -D01.1 Create QA plan for the project 6 O PU +D01.1 Create QA plan for the project 1 O PU ----- ----------------------------------------------------- ----- ---- ---- D01.2 Collection and monitoring of reports 24 O PU ----- ----------------------------------------------------- ----- ---- ---- @@ -122,7 +122,7 @@ ----- ----------------------------------------------------- ----- ---- ---- D14.5 Documentation of the development process 24 R PU ----- ----------------------------------------------------- ----- ---- ---- -D14.6 Organize three domain specific Workshops 24 O PU +D14.6 Organize four domain specific Workshops 24 O PU ----- ----------------------------------------------------- ----- ---- ---- D14.7 Arrange two nondomain specific workshops 24 O PU ----- ----------------------------------------------------- ----- ---- ---- From hpk at codespeak.net Sun Apr 4 22:37:33 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Sun, 4 Apr 2004 22:37:33 +0200 (MEST) Subject: [pypy-svn] r3756 - pypy/trunk/doc/funding/negotiations Message-ID: <20040404203733.CEF2F5B485@thoth.codespeak.net> Author: hpk Date: Sun Apr 4 22:37:32 2004 New Revision: 3756 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: revised and checked the responses document - alltogether shortened paragraphs - fixed typos - changed the wording of the "reduce-scope-or-not" para but left the FIXME there read the diff ... Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Sun Apr 4 22:37:32 2004 @@ -20,36 +20,40 @@ **Action: the involvement and funding mechanism of PBF should be fully described** -The project coordinator (Alastair Burt, DFKI)sent a mail on the 29th -of March detailing the future neccessary role of the PBF within the -PyPy research project. At the same time, three participants, (Holger -Krekel, Alex Martelli and Christian Tismer) who formerly participated -via the PBF are now to enter the consortium as independent partners. -We presume until further feedback that this is a viable model and have -allocated resources and partners in the DoW accordingly. The PBF is -to bring in experts on specific problems arising during the process of -the project. This will decrease the risk of failing. The PBF also -serves as a valuable vehicle for the dissemination of the project, -given that it is comprised of SMEs whose business depends on the -Python programming language. They will be perfectly positioned to -make immediate use of our new language implementation, the moment it -becomes commercially advantageous for them to do so, because they will -be so closely involved in the project as a producer and consumer of -information. See especially Work Package 14, Documentation and Dissemination. +The project coordinator (Alastair Burt, DFKI) sent a mail on the 29th of +March detailing the future role of the PBF within the PyPy research +project. At the same time, three participants, (Holger Krekel, Alex +Martelli and Christian Tismer) who formerly would work through the PBF +are now to enter the consortium as independent partners. We presume +until further feedback that this is a viable model and have allocated +resources and partners in the DoW accordingly. + +Summarizing, the PBF is to bring in additional experts on specific +problems arising during the process of the project. This will decrease +the risk of failing. + +The PBF also serves as a valuable vehicle for dissemination to potential +PyPy integrators and users, given that it is comprised of SMEs whose +business depends on the Python programming language. They will be +perfectly positioned to make immediate use of our new language +implementation, the moment it becomes commercially advantageous for them +to do so, because they will be so closely involved in the project as a +producer and consumer of information. See especially Work Package 14, +Documentation and Dissemination. **Action: in first instance no workpackages should be removed as savings should be obtained through economizing the work planning.** -The consortium has now revisited each work package description and has +The consortium has revisited each work package description and has provided a more consistent and more detailed work plan. We -were able to retain all Workpackages but were more specific about the +were able to retain all Workpackages but had to be more specific about the exact deliverables and tasks. This lead to an economized and tightened work planning. -However, each of the partners in the consortium now has to accept a -much higher risk and responsbility for efficiently producing all -deliverables with the reduced resources. The consortium relies now -more heavily on interacting early and often with specific communities +However, due to the budget cuts each of the partners in the consortium +now had to accept a much higher risk and responsbility for efficiently +producing all deliverables with the reduced resources. The consortium +relies heavily on interacting early and often with specific communities and individuals to effectively mobilise our resources. XXXFIXME: Do we say we reduced scope or not?? lac+ hpk- @@ -57,33 +61,24 @@ **Action: provide fully completed and quality checked CPFs.** We have completed and improved the CPFs. The project office's feedback -to our consortium-proposal may still make further changes neccessary. -We also had problems with the CPF editor (import and synchronization -problems) but hope we fixed all remaining inaccuracies. - -We have also discovered a problem which may plague others. In -Sweden, the correct way to write 'one million, two hundred thirty-seven, -and five tenths is': 1.237,5 - -This is precisely the opposite of what is correct in England, or the USA, -where it is: 1,237.5 - -Note the swapped commas and periods. Now when Swedes create a CPF, -using the tool, their locales are configured to produce this X.YYY,Z -format. And provided they only share data with other people who are -configured to use this format, all works gloriously well. But as -soon as they start to share data with somebody who uses the opposite -nomenclature, because the program supplied either does not store, -does not check, or does not handle 'what was the locale of the person -who created this file' then the new user will see 1.237,5 as -one and 237 thousandths. This explains why you thought we had -estimated our costs in kilo-euros, when we were certain that we -had not. It's a locale and language problem. +to our consortium-proposal may still make further changes neccessary. +In the course of completing the CPF we noticed a problem which may +plague others. In Sweden, the correct way to write 'one million, two +hundred thirty-seven, and five tenths is': 1.237,5. This is precisely +the inverse of what is correct in England, or the USA, where it is: 1,237.5 +Note the swapped commas and periods. + +Now when Swedes create a CPF, using the tool, their country settings +configured to produce this X.YYY,Z format. If you share this file with +someone from a different country using a different number format many +numbers get corrupted. This explains why you thought we had estimated +our costs in kilo-euros, when we were certain that we had not. It was +locale and language problem. **Action: Also the reduction of the language user involvement already represents a reduction in work and required budget.** -We still plan to involve language end-users on various levels. +We still plan to involve potential PyPy users on various levels. Immediate beneficiaries of the PyPy STREP are predominantly a) language integrators who want to port and leverage their domain @@ -98,10 +93,10 @@ - D03.3 will help developers to port existing C-extensions to PyPy - D04.4 will help researchers to do innovative language research - D11.1 and D11.2 provide reports and a useful implementation to - end-users and Axis communications in particular. + language users and Axis communications in particular. - D12.1-3 will provide experimental versions of PyPy to various - groups of end-users (developers and researchers alike). -- D13.2 will provide a tool for to support customizing PyPy + groups of developers and researchers. +- D13.2 will provide a tool to support customizing PyPy to domain specific needs and D13.3 will complement this effort with a publication. - all D14 deliverables will target diverse potential users of the new @@ -110,32 +105,34 @@ game developers both inside (D14.6) and outside (D14.7) the existing Python community. -The PBF is a good vehicle for bringing new developers into the project via -Sprints. This generates a great deal of interest within the existing -Python development community, interest which is sustained through the -presentation of papers at various computer conferences, in particular -PyCon, EuroPython, and OSCON (D14.8). D14.5 will document our experience -in using Sprints as an integral and essential part of our dissemination -process. +The PBF will bring interested parties and developers into the project +via "Sprints". Those one week meetings serve the dissemination of our +efforts and are likely +to raise interest within various communities, interest which is +sustained through the presentation of papers at various computer +conferences, in particular PyCon, EuroPython, and OSCON (D14.8). D14.5 +will document our experience in using Sprints as an integral and +essential part of our dissemination process. **Action: the body text should be preserved, and a full tracing to workpackages should be ensured (adding tasks, subtasks, and defined output). If traceability is not clear, there may come a request to add a line stating the body text should be considered.** -We have now fully traced especially the B1 objectives and B6.0 detailed implementation -chapters in all Workpackage descriptions and deliverables. Task descriptions -are now more specific and detailed and deliverables have been added according -to the body text descriptions. +We have now fully traced the B1 objectives and B6.0 detailed +implementation chapters in Workpackage descriptions and deliverables. +In particular, task descriptions of all Work Packages are now much more +specific and detailed and deliverables have been added according to +the body text descriptions. **Action: An explanation on how the envisaged work goes beyond the state-of-the-art (both in theoretical concepts and solutions and in the practical implementation should be provided, and how this contributes to development beyond the Python domain).** -The appropriate chapter of B1.0 in the TA has been extended accordingly. -Summarizing we mainly have the following theoretically new approaches -and solutions: +The appropriate chapter of B1.0 in the TA has been extended accordingly. +Summarizing we have the following theoretically new approaches and +practical solutions: - Separation of Bytecode interpretation and manipulation of objects, using a Very-High-Level language to specify semantics @@ -151,12 +148,12 @@ a way that is inelegant, inflexible, and error-prone. Each one of these novelties is interesting beyond the scope of Python. -Moreover, the practical implementation leverages an *industrial-strength* -language implementation (Python) thus connecting the STREP to a large user -base. It is possible that PyPy will form the fundation of the "next -generation" Python implemention commonly refered to as Python 3000. Once -we have reports and specific versions of PyPy we will reach out to -non-python communities (see WP14_). +Moreover, the practical implementation leverages an +*industrial-strength* language implementation (Python) thus connecting +the STREP to a large potential user base. It is possible that PyPy will +form the foundation of the "next generation" Python implementation commonly +refered to as Python 3000. Once we have reports and specific versions +of PyPy we will reach out to non-python communities (see WP14_). **Action: the coordination and management model should be clarified.** @@ -167,59 +164,53 @@ **Action: Rename the first phase.** The first phase has been renamed to "Building a Novel Language Research Tool". -In particular the first phase (D04.4) will provide a Research tool and +In particular the first phase (D04.4) will provide a novel research tool and various reseach results on building a highly flexible and modular interpreter will be published on conferences (see D05.1, D05.3, D05.4). -FIXME: where do we describe the first phase in more detail so that it - clear we are new? That should be referenced here. - **Action: The DoW will be modified to clarify this [multithreading] issue**. -The B1.0 objectives chapter has been extended to clarify the issue. The -WP07_ description, and D7.3 and D7.1 in particular, have been clarified. +The B1.0 objectives chapter has been extended to clarify the issue and +in particular the WP07_ description, and D7.3 and D7.1 deliverables. Summarizing, today there are many complicated issues in current language implementations such as Java, Perl and Python itself. All such industrial strength language implementations usually decide early on a specific threading and memory management model. The PyPy project pioneers ways to allow making this decision much later and well encapsulated (D05.3, D05.4). Moreover, massive parallelism with millions -of threads will be both practical and easy to program without +of threads will become both practical and easy to program without consuming operating system resources (D07.1, D07.3, D07.4). This is not -the case with today's commercially significant languages. This extremely -significant development is of particular interest to people -involved in the production of Massively Multi-Player Online Games, -or complex simulations of any sort. +the case with today's commercially significant languages. Massive +parallelism is of particular interest to companies involved in the +production of Massively Multi-Player Online Games and complex +simulations of any sort. **Action: The DoW will be modified to make it clearer what type of tests we are referring to.** -The deliverables of WP04 and WP05 now specify more clearly the test selection. -In general, we select language compliancy tests as the primary measurement -utility and disregard testing of implementation details specific to the -current C-Python implementation. The original Python developers will be consulted -if there is a doubt whether something is a "language feature" or an -"implementation feature" test. +The deliverables of WP04 and WP05 now specify choice of appropriate +tests. In general, we select existing language compliancy tests as the +primary measurement unit and disregard testing of implementation details +specific to the current C-Python implementation. The original Python +developers will be consulted if there is a doubt whether something is a +"language feature" or an "implementation feature" test. **Action: The relevant [AOP/logic] sections of the DoW will be extended.** -Examples are now given in B6.0 to clarify that PyPy aims at researching -and providing access and interception points to internals greatly improving +Examples are now mentioned in B6.0 to clarify that PyPy aims at researching +and providing access and interception points to internals improving performance and practicality of introducing aspects to the language -level and enabling Semantic Web applications. The WP09_ and WP10_ have -been updated accordingly. - -XXXFIXME see that this is done. +level and enabling Semantic Web applications. The WP09_ and WP10_ now +show more details. **Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** -WP14_ and WP11_ now define explicit workshops and dissmentiation -activities. Moreover, several reports and publications have been -explicitely added to all Work Packages. The B6.0 and B1.0 already -mentioned various dissemination activities which are now fully traced in -the DoW tasks and deliverables. Special care has been taken that the -research report, publication and workshop deliverables will be -disseminated to non-python communities (see especially D14.1-8, D11.1-2). +WP14_ and WP11_ now trace workshops and dissmentiation activities +mentioned earlier in the implementation plan. Moreover, several reports +and publications have been added to all Work Packages. Special care is +taken to disseminate research reports, publication and workshop +deliverables to non-python communities (see especially D14.1-8, +D11.1-2). **Action: The DoW will include a justification of the license chosen. Compatibility with the GPL will be addressed.** @@ -236,17 +227,16 @@ always under an MIT license the project explicitely reserves the right to *include* GPLed software. In the latter case some versions of PyPy might have to be released under a GPL license. If PyPy becomes the -basis of Python 3000, there may be some pressure to release PyPy under -the Python license. If we develop under the MIT license, then we remain -compatible to the bsd-like Python license. In contrast, using a GPL -license would drastically reduce our ability to become the basis of -Python 3000, since the CPython developers have already rejected the GPL -as the license for developing Python. +basis of Python 3000, there will be pressure to release PyPy under the +Python license which is very similar to the MIT license. In contrast, +using a GPL license would drastically reduce our ability to become the +basis of Python 3000, since the CPython developers reject the GPL as the +license for developing Python. **Action: The DoW will be modified to avoid this [user] confusion.** -The complete DoW has been clarified accordingly. The term 'end-user' has been -dropped in favour of 'language user'. The typical 'language user' of the PyPy +The term 'end-user' has been dropped in favour of 'language user'. The +typical 'language user' of the PyPy STREP are language integrators and researchers. They are also its immediate beneficiaries. The line between being a language user and a contributor to the project is designed to be easy-to-cross thus contributing to the effective From tismer at codespeak.net Mon Apr 5 04:32:19 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Mon, 5 Apr 2004 04:32:19 +0200 (MEST) Subject: [pypy-svn] r3757 - in pypy/trunk/doc/funding: makedoc negotiations Message-ID: <20040405023219.6DE705B485@thoth.codespeak.net> Author: tismer Date: Mon Apr 5 04:32:18 2004 New Revision: 3757 Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf Log: current document as of tonite. Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary files. No diff available. From alastair at codespeak.net Mon Apr 5 07:50:34 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Mon, 5 Apr 2004 07:50:34 +0200 (MEST) Subject: [pypy-svn] r3758 - pypy/trunk/doc/funding/makedoc Message-ID: <20040405055034.EE72A5B485@thoth.codespeak.net> Author: alastair Date: Mon Apr 5 07:50:33 2004 New Revision: 3758 Added: pypy/trunk/doc/funding/makedoc/html2psrc pypy/trunk/doc/funding/makedoc/makehtml.py (contents, props changed) Log: Added support for the generation of a single HTML file and html2ps. Added: pypy/trunk/doc/funding/makedoc/html2psrc ============================================================================== --- (empty file) +++ pypy/trunk/doc/funding/makedoc/html2psrc Mon Apr 5 07:50:33 2004 @@ -0,0 +1,65 @@ +/* Global configuration file for html2ps */ + + at html2ps { + seq-number: 1; + datefmt: "%B %-d, %Y"; + /* showurl: 1; */ + extrapage: 1; + + package { + ImageMagick: 1; + PerlMagick: 1; + djpeg: 1; + TeX: 1; + dvips: 1; + Ghostscript: 1; + libwww-perl: 1; + path: "/usr/bin"; + } + paper { + type: A4; + } + hyphenation { + en { + file: "/usr/share/texmf/tex/generic/hyphen/ukhyphen.tex"; + } + } + + titlepage { + content: "

PyPy

Researching a Highly Flexible and Modular Language Platform

and

Implementing it by Leveraging the Open Source Python Language and Community

"; + } + + option { + DSC: 1; + titlepage: 1; + hyphenate: 1; + toc: hb; + } + header { + center: "PyPy"; + } + footer { + left: "$N"; + right: "$D"; + } + draft: "DRAFT"; + + paper { + type = A4; + } +} + +BODY { + text-align: justify +} + +PRE { + margin-left: 1cm; +} + + at page { + margin-left: 2.5cm; + margin-right: 2.5cm; + margin-top: 2.5cm; + margin-bottom: 2.5cm; +} Added: pypy/trunk/doc/funding/makedoc/makehtml.py ============================================================================== --- (empty file) +++ pypy/trunk/doc/funding/makedoc/makehtml.py Mon Apr 5 07:50:33 2004 @@ -0,0 +1,105 @@ +#!/bin/env python + +import os, sys +from makedoc import * + +# Change as required +buildhtml = "/usr/bin/docutils-buildhtml.py" + +header = """ + +PyPy + + + +""" + +footer = """ +""" + +files = ["B0.0_preamble.html", + "B0.1_summary.html", + "B1.0_objectives.html", + "B2.relevance_to_IST.html", + "B3.impact.html", + "B4.resources.html", + "B5.0_manage_bea.html", + "B6.0_detailed_implementation.html", + "B6.4_gantt.html", + "B6.5_workpackage_list.html", + "B6.6_deliverables_list.html", + "B6.7.wp01_management.html", + "B6.7.wp02_maintenance.html", + "B6.7.wp03_synchronisation.html", + "B6.7.wp04_core.html", + "B6.7.wp05_translation.html", + "B6.7.wp06_core_optimisations.html", + "B6.7.wp07_translator_optimisations.html", + "B6.7.wp08_dynamic_optimisation.html", + "B6.7.wp09_search_and_logic.html", + "B6.7.wp10_aspects_and_contracts.html", + "B6.7.wp11_embed_in_hardware.html", + "B6.7.wp12_validations.html", + "B6.7.wp13_integration_config.html", + "B6.7.wp14_documentation.html", + "B7.0_other_issues.html"] + +def make_html(): + build_xref_file() + copy_ascfiles() + copy_binfiles() + names = get_file_list() + make_new_files(names) + os.system(buildhtml + " --local --no-xml-declaration --output-encoding='latin-1'") + str = [] + for f in files: + str.append(increment_sections(body(clean(f)))) + return header + "\n\n".join(str) + footer + +def clean(name): + f = file(name) + str = [] + delete = 0 + for l in f.xreadlines(): + if not delete: + if l.find('DELETE:BEGIN') >= 0: + delete = 1 + else: + str.append(l) + else: + if l.find('DELETE:END') >= 0: + delete = 0 + return ''.join(str) + +def body(str): + start = str.find("")+6 + end = str.rfind("") + return str[int(start): int(end)] + +def increment_sections(str): + str = str.replace('

', '

') + str = str.replace('

', '') + str = str.replace('

', '

') + str = str.replace('

', '') + str = str.replace('

', '

') + str = str.replace('

', '') + str = str.replace('
', '

') + str = str.replace('

', '') + return str + +def make_ps(): + print "Creating dow.ps" + os.system("html2ps -f html2psrc dow.html > dow.ps") + +def make_pdf(): + make_ps() + print "Creating dow.pdf" + os.system("ps2pdf -sPAPERSIZE=a4 dow.ps dow.pdf") + +if __name__ == "__main__": + str = make_html() + file('dow.html', 'w').write(str) + if "--pdf" in sys.argv: + make_pdf() + elif "--ps" in sys.argv: + make_ps() From alastair at codespeak.net Mon Apr 5 08:12:30 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Mon, 5 Apr 2004 08:12:30 +0200 (MEST) Subject: [pypy-svn] r3763 - pypy/trunk/doc/funding Message-ID: <20040405061230.847A75B485@thoth.codespeak.net> Author: alastair Date: Mon Apr 5 08:12:29 2004 New Revision: 3763 Modified: pypy/trunk/doc/funding/B0.1_summary.txt pypy/trunk/doc/funding/B1.0_objectives.txt pypy/trunk/doc/funding/B2.relevance_to_IST.txt pypy/trunk/doc/funding/B3.impact.txt pypy/trunk/doc/funding/B4.resources.txt pypy/trunk/doc/funding/B5.0_manage_bea.txt pypy/trunk/doc/funding/B6.0_detailed_implementation.txt pypy/trunk/doc/funding/B6.4_gantt.txt pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt pypy/trunk/doc/funding/B7.0_other_issues.txt Log: Fixed case of section titles, added search stuff to state of the art, added para on QA. Modified: pypy/trunk/doc/funding/B0.1_summary.txt ============================================================================== --- pypy/trunk/doc/funding/B0.1_summary.txt (original) +++ pypy/trunk/doc/funding/B0.1_summary.txt Mon Apr 5 08:12:29 2004 @@ -1,13 +1,13 @@ **Proposal full title:** - The full title of the Proposal is 'PyPy: Researching a highly - flexible and modular language platform and implementing it by - leveraging the Open Source Python Language and Community'. + 'PyPy: Researching a highly flexible and modular language platform + and implementing it by leveraging the Open Source Python Language + and Community' **Proposal acronym:** - The proposal acronym is PYPY. + The proposal acronym is PyPy. **Strategic Objectives:** Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Mon Apr 5 08:12:29 2004 @@ -1,8 +1,8 @@ -Scientific and technological objectives of the project & state of the art +Scientific and Technological Objectives of the Project and State of the Art =============================================================================== -Problem to be solved +Problem to be Solved --------------------------- Current language implementations are static and hard to modify by @@ -49,7 +49,7 @@ time developing on top of a customized but standard language offering both productivity and performance. -Quantified specific objective +Quantified Specific Objective ----------------------------------- The aim of the PyPy project is to research and implement an interpreter @@ -93,7 +93,7 @@ Current State of The Art ------------------------------ -Interpreters Modularity +Interpreter Modularity ++++++++++++++++++++++++ Haskell monadic modular interpreters [LHJ95]_ [H98]_ are a @@ -134,8 +134,8 @@ interpreters for large practical languages. -JITs and Dynamic Optimisation Complexity -++++++++++++++++++++++++++++++++++++++++++ +Compilation and Optimisation +++++++++++++++++++++++++++++ JIT compilers have been reasonably well studied; an account of their history is given in [A03]_ . But actually writing a JIT compiler for a @@ -178,6 +178,27 @@ inherently be the case. Moreover it would likely benefit from integration with type-feedback techniques such as those developed for Self [HCU91]_ [HU94]_. +Language Extensions +------------------- + +The family of languages based around logic and constraint programming has +proved very useful for knowledge representation and optimisation +problems. The key features of these languages are the use of a *logic +variable*, which allows the matching of data through unification or +constraint processing, and non-determinsitc control structures. Work +initiated at the DFKI has examined ways to combine these constructs with +those from other languages[Sch02]_. A key concept here is *encapulated +search*, which hives off these features from the more mainstream +programming constructs. + +Several people have looked at Python as a programming language for +Artificial Intelligence. Logilab initiated a project to implement +constraint programming in Python [Log]_, and one of most popular text books +in Artificial Intelligence has Python code for the examples +[RN02]_. Moreover, the main inventor of the world wide web developed the +first inference engine for the sematic web in Python [Cwm]_. However, none of +these projects has realised code that can be used in production +environments. It is simply too slow. Beyond State of The Art ----------------------------- @@ -241,9 +262,8 @@ Spaces, or in the core or in modules to be translated, or as a pluggable behaviour of the translation itself. - -Translation aspects -+++++++++++++++++++ +Compilation and Optimisation +++++++++++++++++++++++++++++ The front-end of the translator itself will be innovative in that it is based on abstract (symbolic) interpretation. The translation of code @@ -283,6 +303,16 @@ direct translation. +Language Extensions ++++++++++++++++++++ + +Within PyPy, we will be the first to provide usable constraint programming +techniques within a popular VHLL. We will take advatntage of the +light-weight multithreading that we will introduce to Python to handle the +constratint processing efficiently and we will examine the use of object +spaces to develop implementations of Python that are specialised for search +tasks. + Distribution ++++++++++++ @@ -330,6 +360,9 @@ .. file = ucpy-reverse-engineering-python.pdf +.. [Cwm] http://www.w3.org/2000/10/swap/doc/cwm + + .. [H98] Paul Hudak. "Modular Domain Specific Languages and Tools". ICSR 98. 1998. http://haskell.org/frp/dsl.ps @@ -385,6 +418,11 @@ .. file = popl95.ps.gz +.. [Log] http://www.logilab.org/projects/constraint + +.. [RN02] Russell, Stuart, and Norvig, Peter, "AI: A Modern Approach", + Prentice-Hall, 2002, http://aima.cs.berkeley.edu/python/readme.html + .. [R03] Armin Rigo, http://psyco.sourceforge.net .. file = psycoguide.ps.gz @@ -402,6 +440,9 @@ .. file = ivme03.pdf +.. [Sch02] Christian Schulte, "Programming Constraint Services". Volume + 2302 of Lecture Notes in Artificial Intelligence, Springer-Verlag, 2002 + .. [WAU99] Mario Wolczko, Ole Agesen, David Ungar, "Towards a Universal Implementation Substrate for Object-Oriented Languages",OOPSLA 99 workshop on Simplicity, Performance and Modified: pypy/trunk/doc/funding/B2.relevance_to_IST.txt ============================================================================== --- pypy/trunk/doc/funding/B2.relevance_to_IST.txt (original) +++ pypy/trunk/doc/funding/B2.relevance_to_IST.txt Mon Apr 5 08:12:29 2004 @@ -19,7 +19,8 @@ 'IST Advisory Group: Software technologies, embedded systems and distributed systems: A European strategy towards an Ambient Intelligent environment'). -Python as a language "for everybody" + +Python as a Language "For Everybody" ++++++++++++++++++++++++++++++++++++ The European industry as well as many developers are not interested in @@ -39,7 +40,7 @@ language implementation. -A development platform suited for tomorrow's European industry +A Development Platform Suited for Tomorrow's European industry ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ The EU is interested in **software technologies that are reliable, @@ -61,7 +62,7 @@ can only have a positive effect on European competitiveness. -PyPy builds on the most successful language designed in Europe +PyPy Builds on the Most Successful Language Designed in Europe ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Python is the most widely used European-designed computer language. @@ -89,7 +90,7 @@ strategies as outlined in the SWOT-analysis by the IST workgroup. -solving 'trust and confidence' problems +Solving 'trust and Confidence' Problems +++++++++++++++++++++++++++++++++++++++ The IST thematic priority will contribute directly to realizing @@ -123,7 +124,7 @@ This second form of trust is far more durable and useful. -Strengthening social cohesion +Strengthening Social Cohesion +++++++++++++++++++++++++++++ Social cohesion is strengthened when technological advances are no @@ -145,7 +146,7 @@ national security they will benefit from the existence of PyPy as an Open Source language choice. -Participation of SME's in high-level research +Participation of SME's in High-Level Research +++++++++++++++++++++++++++++++++++++++++++++ The consortium includes the Python Business Forum, an international trade Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Mon Apr 5 08:12:29 2004 @@ -1,6 +1,6 @@ .. include:: crossreferences.asc -Potential impact +Potential Impact --------------------------------------------------------------------------- The successful execution of the PyPy project will deliver a highly productive @@ -88,11 +88,10 @@ --Guido van Rossum (home page: http://www.python.org/~guido/) -In order to do this we will have to do something which is called -'Submitting a PEP'. A PEP - Python Enhancement Proposal - is a design -document providing information to the Python community, or describing -a new feature for Python. The PEP process is designed for Community -involvement and participation. +In order to do this we will have to submit a PEP. A PEP - Python +Enhancement Proposal - is a design document providing information to the +Python community, or describing a new feature for Python. The PEP process +is designed for Community involvement and participation. There are two kinds of PEPs. A Standards Track PEP describes a new feature or implementation for Python. An Informational PEP describes a @@ -153,7 +152,7 @@ huge amount of memory to achieve the highest performance speed. Python with greater speed will seamlessly improve the offerings of -those European Companies who already develop using Python. Moreover, +those European companies who already develop using Python. Moreover, some companies resist using Python because of speed concerns. If execution speed, rather than development speed is of paramount importance, then Python is currently not a very good language @@ -189,25 +188,25 @@ in the United States. This is not only an issue of money being spent in the United States is money that is not being spent here, although that affects matters as well. There are two more serious -risks. The first is a threat in the present. +risks. -Any company which writes its software in a proprietary, closed source -language is dependent upon its software provider. If you have a bug, -you must wait for them to fix it. If this bug is not a high priority -for them, you can wait a long time. If you have access to the source -you always have the option of fixing it yourself, or hiring somebody -else to do that. But this is not the greatest of your worries. You -are at constant risk of having your software provider discontinue -support for your platform. This is a real threat, not a theoretical -one. In 2002, Microsoft announced that it would no longer be -supporting Visual Basic 6.0 after the year 2005. All Visual Basic -Developers have been told to convert their code to run under -Microsoft's new .NET framework. Before that, in 2001, Microsoft -suddenly stopped supporting its Visual J++ language platform, meant -to be a direct competitor for Java, after settling a lawsuit with Sun -Microsystems. No migration path was specified. Microsoft is making -these decisions because they make business sense for Microsoft, -regardless of the effects on European software developers. +The first is a threat in the present. Any company which writes its +software in a proprietary, closed source language is dependent upon its +software provider. If you have a bug, you must wait for them to fix it. +If this bug is not a high priority for them, you can wait a long time. If +you have access to the source you always have the option of fixing it +yourself, or hiring somebody else to do that. But this is not the greatest +of your worries. The second threat is that you are at constant risk of +having your software provider discontinue support for your platform. This +is a real threat, not a theoretical one. In 2002, Microsoft announced that +it would no longer be supporting Visual Basic 6.0 after the year 2005. All +Visual Basic Developers have been told to convert their code to run under +Microsoft's new .NET framework. Before that, in 2001, Microsoft suddenly +stopped supporting its Visual J++ language platform, meant to be a direct +competitor for Java, after settling a lawsuit with Sun Microsystems. No +migration path was specified. Microsoft is making these decisions because +they make business sense for Microsoft, regardless of the effects on +European software developers. Right now Python is the sixth most popular programming language in the world. Java and Visual Basic (VB), ranked 1 and 2, are closed source Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Mon Apr 5 08:12:29 2004 @@ -1,7 +1,7 @@ -The consortium and project resources +The Consortium and Project Resources ===================================== -Description of the partners +Description of the Partners --------------------------- DFKI @@ -378,13 +378,13 @@ will be restricted to Members of the EU and the Candidate countries, as part of the charter of this SIG. -Sub-contracting +Sub-Contracting --------------- Some pure accounting and auditing tasks will be subcontracted. No core technical functions or project management will be handed to non-partners. -Other countries +Other Countries --------------- While this project is of international interest, and while the PBF is @@ -393,7 +393,7 @@ the European Union and the Candidate countries. -Quality of partnership, involvement of users and SMEs +Quality of Partnership, Involvement of Users and SMEs ----------------------------------------------------- Roles @@ -405,110 +405,101 @@ unique skills or functions, without which the project is not complete. DFKI -++++ -has previous experience of being a project coordinator in EU projects, -ensuring smooth communication between the project and the FP6 project -officer. + has previous experience of being a project coordinator in EU projects, + ensuring smooth communication between the project and the FP6 project + officer. University of Southampton -+++++++++++++++++++++++++ -is the employer of Armin Rigo, who is the lead architect of the whole -project as well as the author of Psyco, the blueprint for how to do -optimisation in PyPy. + is the employer of Armin Rigo, who is the lead architect of the whole + project as well as the author of Psyco, the blueprint for how to do + optimisation in PyPy. Strakt -++++++ -brings management knowhow and entrepreneurial skills to the project -as well as showcasing how to apply the results of the project in a -major business application. - -Strakt will also bring Tim Peters and Samuele Pedroni to the project. -Tim Peters been a core developer of the Python language, what we call -CPython, from its inception. Apart from being an outstanding -programmer, Tim has intimate knowledge about all the details of the -Python language definition. As Director of the Python Software -foundation, Tim Peters is also responsible for the Intellectual -Property of the existing Python language. - -Samuele Pedroni is currently the main developer of Jython (the -industry-strength Java re-implementation of Python), working on -internals, compilers and Java integration. A member of the Python -Software Foundation, he brings to the project his know-how on -languages, re-implementation/design of Python, reflection, lookup and -dispatch optimization. - -With 13 full time and 6 part time employees, Strakt is an SME -representative. Strakt is particularly interested in this project -because it is doubtful that its Framework system, CAPS, can scale from -several hundred thousand to several million concurrent users unless -one of two things happen. Either parts of CAPS are rewritten in C, -which is faster, or Python itself becomes faster. The second -alternative is much to be preferred. Participation will also enhance -Strakt's ability to attract the best Python programmers, and add to -it's reputation in the Open Source community. Strakt's financial -backer and board of Directors enthuthiastically endorse participation -in this project as a brilliant strategic move. + brings management knowhow and entrepreneurial skills to the project as + well as showcasing how to apply the results of the project in a major + business application. + + Strakt will also bring Tim Peters and Samuele Pedroni to the project. + Tim Peters been a core developer of the Python language, what we call + CPython, from its inception. Apart from being an outstanding programmer, + Tim has intimate knowledge about all the details of the Python language + definition. As Director of the Python Software foundation, Tim Peters is + also responsible for the Intellectual Property of the existing Python + language. + + Samuele Pedroni is currently the main developer of Jython (the + industry-strength Java re-implementation of Python), working on + internals, compilers and Java integration. A member of the Python + Software Foundation, he brings to the project his know-how on + languages, re-implementation/design of Python, reflection, lookup and + dispatch optimization. + + With 13 full time and 6 part time employees, Strakt is an SME + representative. Strakt is particularly interested in this project + because it is doubtful that its Framework system, CAPS, can scale from + several hundred thousand to several million concurrent users unless + one of two things happen. Either parts of CAPS are rewritten in C, + which is faster, or Python itself becomes faster. The second + alternative is much to be preferred. Participation will also enhance + Strakt's ability to attract the best Python programmers, and add to + it's reputation in the Open Source community. Strakt's financial + backer and board of Directors enthuthiastically endorse participation + in this project as a brilliant strategic move. Changemaker -+++++++++++ -adds rare project management skills by managing not only the project, -but the learning processes of the project participants as well as the -group dynamics between the different members. We intend to document -and disseminate the management of change throughout the project. -Changemaker is also the contact point for Axis Communications, who -will receive a specific report on how to integrate PyPy in an embedded device. + adds rare project management skills by managing not only the project, but + the learning processes of the project participants as well as the group + dynamics between the different members. We intend to document and + disseminate the management of change throughout the project. Changemaker + is also the contact point for Axis Communications, who will receive a + specific report on how to integrate PyPy in an embedded device. Logilab -+++++++ -focuses on constraints and aspect oriented programming and will verify -that PyPy is both extensible with specialised language features and -embeddable in small-sized devices with dedicated hardware. + focuses on constraints and aspect oriented programming and will verify + that PyPy is both extensible with specialised language features and + embeddable in small-sized devices with dedicated hardware. -With 7 full time employees, Logilab is an SME representative. + With 7 full time employees, Logilab is an SME representative. Python Business Forum -+++++++++++++++++++++ -brings a number of SME parties to the project who are eager to -apply PyPy to their various products. They are user Stakeholders, and the -primary intended audience of some of our reports. Many of them, on their -own, have expressed a desire to encorporate PyPy into their products as -soon as it is finished and stable. We will report on their progress to the -Commission as well, even though they are not to be funded by the -Commission, as an extra point of reference. - -The PBF also provides important outreach to the members of Eastern -Europe, and Candidate Countries. Since its founding, it has had -a board member responsible for precisely that: - -- I've been a PBF board member from its founding. I am responsible for - the Eastern Europe liaisons. I am an intermediary of sorts between - the PBF and the businesses located in the candidate countries of - Eastern Europe. The PBF is an important link between businesses in - the EU and the candidate countries. + brings a number of SME parties to the project who are eager to apply PyPy + to their various products. They are user Stakeholders, and the primary + intended audience of some of our reports. Many of them, on their own, + have expressed a desire to encorporate PyPy into their products as soon + as it is finished and stable. We will report on their progress to the + Commission as well, even though they are not to be funded by the + Commission, as an extra point of reference. + + The PBF also provides important outreach to the members of Eastern + Europe, and Candidate Countries. Since its founding, it has had + a board member responsible for precisely that: + + - I've been a PBF board member from its founding. I am responsible for + the Eastern Europe liaisons. I am an intermediary of sorts between + the PBF and the businesses located in the candidate countries of + Eastern Europe. The PBF is an important link between businesses in + the EU and the candidate countries. - Jacek Artymiak + Jacek Artymiak -Extra care will be taken to see that our results will be properly -disseminated to our PBF members in the Candidate Countries. + Extra care will be taken to see that our results will be properly + disseminated to our PBF members in the Candidate Countries. Holger Krekel -+++++++++++++ -will have a focus on development, packaging and -dissemination tools. He will also be a main contributor in matters of -systems architecture. + will have a focus on development, packaging and + dissemination tools. He will also be a main contributor in matters of + systems architecture. Christian Tismer -++++++++++++++++ -is the developer of Stackless Python, which is the -blueprint for how we intend to implement persistent threads. + is the developer of Stackless Python, which is the + blueprint for how we intend to implement persistent threads. Alex Martelli -+++++++++++++ -is a prolific writer and popular speaker as well -as a Python programmer. Alex is uniquely suited for widely -disseminating the progress and the results of the project. + is a prolific writer and popular speaker as well as a Python + programmer. Alex is uniquely suited for widely disseminating the progress + and the results of the project. -Ability to deliver +Ability to Deliver ++++++++++++++++++ DFKI, Logilab, and University of Southampton have @@ -551,7 +542,7 @@ Sprints, and join our mailing lists, talk to us via IRC - whatever level of involvement is desired. -Resources to be mobilised +Resources to be Mobilised ------------------------- In any project there are three crucial resources to be mobilised. Modified: pypy/trunk/doc/funding/B5.0_manage_bea.txt ============================================================================== --- pypy/trunk/doc/funding/B5.0_manage_bea.txt (original) +++ pypy/trunk/doc/funding/B5.0_manage_bea.txt Mon Apr 5 08:12:29 2004 @@ -120,7 +120,7 @@ The skills and experience of the combined management and coordination team are as follows: -Large scale projects +Large Scale Projects +++++++++++++++++++++ **Jacob Hall?n** has been working since 1994 with large scale development @@ -176,7 +176,7 @@ process for the EU Framework 3 (V?xtkraft M?l 3) and has a experience of working with similar EU-funded projects since 1997. -Financial tracking in projects +Financial Tracking in Projects +++++++++++++++++++++++++++++++ **Jacob Hall?n** has a widespread experience of founding and managing @@ -197,7 +197,7 @@ department in NetGuide Scandinavia (1999-2002) she had budget and result responsibility. -Leadership skills +Leadership Skills ++++++++++++++++++ **Jacob Hall?n** has experienced leadership challenges in different @@ -238,14 +238,13 @@ Coordination in EU Projects +++++++++++++++++++++++++++ -Alastair Burt, DFKI +**Alastair Burt**, DFKI, has participated in several European projects, was +the coordinator of the EU-funded ASWAD free software project, and is in the +coordinating team of the EUTIST-AMI cluster. The DFKI itself has over a +decade of experience of working with the EU's financial and reporting +procedures. -He has participated in several European projects, was the coordinator of -the EU-funded ASWAD free software project, and is in the coordinating team -of the EUTIST-AMI cluster. The DFKI itself has over a decade of experience -of working with the EU's financial and reporting procedures. - -Management structure +Management Structure -------------------- The management structure will be as follows: @@ -337,7 +336,7 @@ meetings.Agenda and discussions/decisions on these meeting will be documented and put up in the internal project web. -Project review workshops ("learning loops") +Project Review Workshops ("learning loops") +++++++++++++++++++++++++++++++++++++++++++ Every six months, as preparation for the Management Board meetings and @@ -352,7 +351,7 @@ in the internal project web. -"Sprint" Meetings are the key to PyPy's technical development +"Sprint" Meetings are the Key to PyPy's Technical Development +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Key to PyPy's technical development and research are so called @@ -406,7 +405,7 @@ working prototype which is a big success not only in the eyes of its developers. -Technical decisions +Technical Decisions +++++++++++++++++++ Major design or technical decisions are usually reached through @@ -422,7 +421,7 @@ individual contribution help enforce high-quality program code and good design decisions. -Quality control of technical development +Quality Control of Technical Development ---------------------------------------- The PyPy project will ensure quality by a variety of means. On the @@ -458,7 +457,7 @@ choices for technical quality management are fit to meet highest standards. -Additional Quality procedures +Additional Quality Procedures +++++++++++++++++++++++++++++ The project manager will circulate a draft Quality Management plan for @@ -480,7 +479,7 @@ - Evaluation routines - Specific responsibilities within the project -Communication and reporting +Communication and Reporting --------------------------- The project process will be reported as follows: Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Mon Apr 5 08:12:29 2004 @@ -142,7 +142,7 @@ plugged into the existing bytecode interpreter; these two components, together, will then function as an abstract (or symbolic) interpreter in the usual sense of the word. The net result is that we can actually analyse -RPython source code without writing any code specific to the language (!), +RPython source code without writing any code specific to the language, given that we already have a bytecode interpreter which is flexible enough to accommodate a non-standard Object Space. In other words, the combination of PyPy and an "abstract" Object Space performs as the front-end of the @@ -242,7 +242,7 @@ version of PyPy that supports the whole of the Python language. -Other research aspects +Other Research Aspects ++++++++++++++++++++++ The other part of Phase 2 focuses on non-performance-oriented research-level @@ -310,7 +310,7 @@ Phase 3 is also when we expect third parties to build on top of our platform. -Language-level object models +Language-Level Object Models ++++++++++++++++++++++++++++ This is the topic of WP12_. We will integrate with the language itself three @@ -382,10 +382,12 @@ extension or proxy Object Space. -Language-level extensions +Language-Level Extensions +++++++++++++++++++++++++ -WP09_ and WP10_ are language-level extensions in the sense that they introduce new features usually present as libraries directly into the interpreter itself. +WP09_ and WP10_ are language-level extensions in the sense that they +introduce new features usually present as libraries directly into the +interpreter itself. A major goal of the PyPy project is to enable people to carry out more of their programming tasks in Python without having to resort to other @@ -395,29 +397,28 @@ enhance the object model, thus offering in Python what can currently only be found in some other object-oriented languages. In particular: -WP10_ will offer the ability to compose program functionality with aspects and to design -object-oriented programs through contract. -For example, today to add aspects like logging or design-by-contract to -functions you have to add a wrapper or another layer on top of existing -definitions, a process which is clumsy and fragile and thus impractical. -Instead it would be preferable to be able to hook into the internals of -an interpreter and extend its behaviour, e.g. the method invocation -mechanisms. Specifically, WP10_ will experiment with having first-class -hooks for checking arguments and return values, or supporting -efficiently "around/after and before" behaviours like the similar -concepts in the Common Lisp Object System. +WP10_ will offer the ability to compose program functionality with aspects +and to design object-oriented programs through contract. For example, today +to add aspects like logging or design-by-contract to functions you have to +add a wrapper or another layer on top of existing definitions, a process +which is clumsy and fragile and thus impractical. Instead it would be +preferable to be able to hook into the internals of an interpreter and +extend its behaviour, e.g. the method invocation mechanisms. Specifically, +WP10_ will experiment with having first-class hooks for checking arguments +and return values, or supporting efficiently "around/after and before" +behaviours like the similar concepts in the Common Lisp Object System. WP09_ will explore the integration of logic programming techniques. For -example, today to use a constrain solver like the one from the -python-logic libraries, you have to resort to an unfamiliar custom -syntax. These libraries would be much more useful if they were better -integrated with the language. WP09_ will specifically experiment with -rewriting parts of the python-logic libraries in RPython for integration -and performance, and enhance the syntax to support them, with the goal of -supporting Semantic Web and knowledge representation applications. +example, today to use a constraint solver like the one from the +python-logic libraries, one has to resort to an unfamiliar custom syntax. +These libraries would be much more useful if they were better integrated +with the language. WP09_ will specifically experiment with rewriting parts +of the python-logic libraries in RPython for integration and performance, +and enhance the syntax to support them, with the goal of supporting +Semantic Web and knowledge representation applications. -Interpreter adaptations +Interpreter Adaptations +++++++++++++++++++++++ The PyPy interpreter as developed in Phases 1 and 2 will be particularly @@ -497,10 +498,11 @@ the project's results. Diagrams and schematics will be provided to illustrate fundamental concepts, as appropriate to the audience and the subject matter. -To ensure stakeholder participation and feedback that goes beyond the python community, -wp14_ also consists of arranging workshops ( 6 in total) to disseminate the ongoing -process- and development progress.The majority of the workshops are going to target important -stakeholder groups and will primarily focus on disseminating PyPy results from an implementation +To ensure stakeholder participation and feedback that goes beyond the +python community, wp14_ also consists of arranging workshops ( 6 in total) +to disseminate the ongoing process- and development progress.The majority +of the workshops are going to target important stakeholder groups and will +primarily focus on disseminating PyPy results from an implementation perspective, customized for the target groups different needs. Maintenance Modified: pypy/trunk/doc/funding/B6.4_gantt.txt ============================================================================== --- pypy/trunk/doc/funding/B6.4_gantt.txt (original) +++ pypy/trunk/doc/funding/B6.4_gantt.txt Mon Apr 5 08:12:29 2004 @@ -1,4 +1,4 @@ -Project planning and time table; (Gantt chart) +Project planning and time table (Gantt chart) ----------------------------------------------- .. image:: project_gantt.png Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Mon Apr 5 08:12:29 2004 @@ -1,6 +1,6 @@ .. include:: crossreferences.asc -.. |title| replace:: Infrastructure and tools +.. |title| replace:: Infrastructure and Tools .. |wp| replace:: WP02 .. |start| replace:: 0 .. |p1| replace:: Krekel Modified: pypy/trunk/doc/funding/B7.0_other_issues.txt ============================================================================== --- pypy/trunk/doc/funding/B7.0_other_issues.txt (original) +++ pypy/trunk/doc/funding/B7.0_other_issues.txt Mon Apr 5 08:12:29 2004 @@ -165,7 +165,7 @@ partitioning that will significantly strengthen the defenses. As far as we know, no other language has this feature. -Other Policy related Issues +Other Policy Related Issues --------------------------- As we mentioned before, one of the greatest threats to European From alastair at codespeak.net Mon Apr 5 08:46:22 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Mon, 5 Apr 2004 08:46:22 +0200 (MEST) Subject: [pypy-svn] r3764 - pypy/trunk/doc/funding Message-ID: <20040405064622.81BCF5B485@thoth.codespeak.net> Author: alastair Date: Mon Apr 5 08:46:21 2004 New Revision: 3764 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: Fixed state of the art section. Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Mon Apr 5 08:46:21 2004 @@ -179,7 +179,7 @@ with type-feedback techniques such as those developed for Self [HCU91]_ [HU94]_. Language Extensions -------------------- ++++++++++++++++++++ The family of languages based around logic and constraint programming has proved very useful for knowledge representation and optimisation @@ -229,7 +229,7 @@ kept orthogonal from the rest of the source. -Interpreter modularity +Interpreter Modularity ++++++++++++++++++++++ Object Spaces, in contrast to monadic interpreters, will allow @@ -309,9 +309,19 @@ Within PyPy, we will be the first to provide usable constraint programming techniques within a popular VHLL. We will take advatntage of the light-weight multithreading that we will introduce to Python to handle the -constratint processing efficiently and we will examine the use of object +constraint processing efficiently and we will examine the use of object spaces to develop implementations of Python that are specialised for search -tasks. +tasks. Doing this in a modular way through the use of object spaces, +represents a novel feature of the project. + +The DFKI has a variety of expertise with the semantic web and plays an +active role in several W3C working groups. The work of PyPy will dovetail +with the work being carried out within the DIRECT-INFO EU project, where +the DFKI is supporting a media analysis application by integrating semantic +web constructs into the Python-based Zope application server. It is +expected that efficient search integrated into the application server +framework will lead to many novel applications. + Distribution ++++++++++++ From alastair at codespeak.net Mon Apr 5 08:49:53 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Mon, 5 Apr 2004 08:49:53 +0200 (MEST) Subject: [pypy-svn] r3765 - pypy/trunk/doc/funding Message-ID: <20040405064953.E019F5B485@thoth.codespeak.net> Author: alastair Date: Mon Apr 5 08:49:53 2004 New Revision: 3765 Modified: pypy/trunk/doc/funding/B6.4_gantt.txt Log: Fixing case. Modified: pypy/trunk/doc/funding/B6.4_gantt.txt ============================================================================== --- pypy/trunk/doc/funding/B6.4_gantt.txt (original) +++ pypy/trunk/doc/funding/B6.4_gantt.txt Mon Apr 5 08:49:53 2004 @@ -1,4 +1,4 @@ -Project planning and time table (Gantt chart) +PRoject Planning and Time Table (Gantt chart) ----------------------------------------------- .. image:: project_gantt.png From arigo at codespeak.net Mon Apr 5 14:04:21 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 14:04:21 +0200 (MEST) Subject: [pypy-svn] r3767 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405120421.BD1985B485@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 14:04:20 2004 New Revision: 3767 Added: pypy/trunk/doc/funding/negotiations/locale-killer.py Log: Removes the dependency on the locale for cpf files Added: pypy/trunk/doc/funding/negotiations/locale-killer.py ============================================================================== --- (empty file) +++ pypy/trunk/doc/funding/negotiations/locale-killer.py Mon Apr 5 14:04:20 2004 @@ -0,0 +1,32 @@ +""" +Transforms lines: + + 5,031,956.77 + +---> + + 5031957 +""" + +import sys, re + +re_line = re.compile(r"\s*[<][^>]+[>]([0-9,.]+)[<][^>]+[>]\s*$") + +for line in sys.stdin: + match = re_line.match(line) + if match and (',' in line or '.' in line): + g = match.group(1) + extra = 0 + if '.' in g: + assert g.index('.') == len(g)-3 + assert '0' <= g[-2] <= '9' + assert '0' <= g[-1] <= '9' + if g[-2] >= '5': + extra = 1 + g = g[:-3] + g = g.replace(',', '') + g = str(int(g) + extra) + start = line[:match.start(1)] + end = line[match.end(1):] + line = start + g + end + sys.stdout.write(line) From arigo at codespeak.net Mon Apr 5 14:38:24 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 14:38:24 +0200 (MEST) Subject: [pypy-svn] r3768 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405123824.5055C5A155@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 14:38:23 2004 New Revision: 3768 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Fixed the PBF. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Mon Apr 5 14:38:23 2004 @@ -426,7 +426,7 @@ 1,000 100 - 1 + 0 0 0 0 @@ -441,7 +441,7 @@ N 888016623 - Y + N From arigo at codespeak.net Mon Apr 5 14:42:18 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 14:42:18 +0200 (MEST) Subject: [pypy-svn] r3769 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405124218.E27D95A155@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 14:42:18 2004 New Revision: 3769 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: - Removed the bogus signatory names in A5. - Fixed missing fields in A5 participant 10. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Mon Apr 5 14:42:18 2004 @@ -2527,8 +2527,8 @@ N Y CASCOM 511632 - Olthoff - Walter + + @@ -2541,8 +2541,8 @@ N N - Fretton - Michael + + @@ -2555,8 +2555,8 @@ N N - Hallen - Jacob + + @@ -2569,8 +2569,8 @@ N N - Olsson - Per-Ake + + @@ -2583,8 +2583,8 @@ N Y - Chauvat - Nicolas + + @@ -2597,8 +2597,8 @@ N N - Loyche - Tom + + @@ -2611,8 +2611,8 @@ N N - Krekel - Holger + + @@ -2634,10 +2634,10 @@ 004779 PYPY 10 - - - - + N + N + N + N From arigo at codespeak.net Mon Apr 5 14:44:08 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 14:44:08 +0200 (MEST) Subject: [pypy-svn] r3770 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405124408.A78785A155@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 14:44:07 2004 New Revision: 3770 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Some missing proposal acronyms. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Mon Apr 5 14:44:07 2004 @@ -932,7 +932,7 @@ 004779 - + PYPY 1 Wahlster Wolfgang @@ -983,7 +983,7 @@ 004779 - + PYPY 2 FRETTON Michael @@ -1034,7 +1034,7 @@ 004779 - + PYPY 4 Hall?n Jacob @@ -1085,7 +1085,7 @@ 004779 - + PYPY 5 Olsson Per-?ke @@ -1136,7 +1136,7 @@ 004779 - + PYPY 6 Chauvat Nicolas @@ -1187,7 +1187,7 @@ 004779 - + PYPY 7 L?yche Tom From arigo at codespeak.net Mon Apr 5 14:49:26 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 14:49:26 +0200 (MEST) Subject: [pypy-svn] r3771 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405124926.317A95A155@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 14:49:25 2004 New Revision: 3771 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: - Removed the unneeded figures from Logilab in A6. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Mon Apr 5 14:49:25 2004 @@ -3259,68 +3259,68 @@ 004779 PYPY 6 - 30-06-2003 - 12 - 30-06-2002 - 22 - Y - EUR + + + + + + - 759 - 1 - 4 - 4 + + + + - 4 - 10 + + - 1 - 7 + + - 50 - 50 + + - -12 + - 964 - -12 + + - 8 - 8 + + - 563 - 31 - 22 + + + - 93 - 98 - 6 - 74 - 24 - 15 + + + + + + - 120 - 3 + + - 63 - -2 - 43 + + + From hpk at codespeak.net Mon Apr 5 15:36:51 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Mon, 5 Apr 2004 15:36:51 +0200 (MEST) Subject: [pypy-svn] r3772 - pypy/trunk/doc/funding Message-ID: <20040405133651.8149B5A155@thoth.codespeak.net> Author: hpk Date: Mon Apr 5 15:36:50 2004 New Revision: 3772 Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Log: traced 50% speed of c for purely algorithmic code Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Mon Apr 5 15:36:50 2004 @@ -90,6 +90,7 @@ **Milestones and Expected Result** - M2 High performance PyPy, together with WP07_. Outperform the - state-of-the art (Psyco, Stackless). + state-of-the art (Psyco, Stackless). Verify the expectation + of reaching half the speed of C for purely algorithmic code. .. include:: wp-tableend.asc From hpk at codespeak.net Mon Apr 5 15:54:09 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Mon, 5 Apr 2004 15:54:09 +0200 (MEST) Subject: [pypy-svn] r3773 - pypy/trunk/doc/funding Message-ID: <20040405135409.132A05A155@thoth.codespeak.net> Author: hpk Date: Mon Apr 5 15:54:09 2004 New Revision: 3773 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: rewrote the B6.0 with respect to WP11 please verify Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Mon Apr 5 15:54:09 2004 @@ -423,23 +423,20 @@ The PyPy interpreter as developed in Phases 1 and 2 will be particularly suitable to be adapted to extremely diverse runtime environments, from -embedded devices to number-crunching machines. In WP11_ we propose to study to -specific case of embedded devices, which are often limited in processor speed -and memory size. This either limits the power of software that is implemented -for these platforms, or enforces use of low-level approaches like C/C++ or -Java. PyPy is especially suited to support such platforms, since it can -produce effective and compact code, while retaining the abstraction and -ease-of-use of Python. - -Based on the specific needs of these devices, we will experiment with memory- -or battery-efficient implementations of all the customizable aspects described -in Phase 2. The PyPy code generator will need an extra platform specific -support module, as well as interfaces to necessary device drivers. It may make -sense to develop a PyPy simulator for the target platform. - -We will use feedback from actual hardware to compare the results obtained. If -code space permits we will implement heuristics to switch to the most -efficient implementations when these are context- or application-dependent. +embedded devices to number-crunching machines. + +In WP11_ we propose to study to specific case of embedded devices, which +are often limited in processor speed and memory size. This either +limits the power of software that is implemented for these platforms, or +enforces use of low-level approaches like C/C++ or Java. PyPy is +especially suited to support such platforms, since it can produce +effective and compact code, while retaining the abstraction and +ease-of-use of a Very-High-Level Language. Based on the specific needs +of these devices, we will experiment with memory- or battery-efficient +implementations of all the customizable aspects described in Phase 2. +Additionally, results from WP13_ and feedback from a selected industrial +partner will be used to verify the applicability of Python's flexible +architecture for embedded devices in particular. Integration and Configuration From arigo at codespeak.net Mon Apr 5 15:58:30 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 15:58:30 +0200 (MEST) Subject: [pypy-svn] r3774 - in pypy/trunk/doc/funding: . negotiations Message-ID: <20040405135830.DB21E5A155@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 15:58:30 2004 New Revision: 3774 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt pypy/trunk/doc/funding/negotiations/locale-killer.py Log: Possibly more than one industrial partner for embedded devices. Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Mon Apr 5 15:58:30 2004 @@ -434,9 +434,9 @@ ease-of-use of a Very-High-Level Language. Based on the specific needs of these devices, we will experiment with memory- or battery-efficient implementations of all the customizable aspects described in Phase 2. -Additionally, results from WP13_ and feedback from a selected industrial -partner will be used to verify the applicability of Python's flexible -architecture for embedded devices in particular. +Additionally, results from WP13_ and feedback from one or more selected +industrial partners will be used to verify the applicability of Python's +flexible architecture for embedded devices in particular. Integration and Configuration Modified: pypy/trunk/doc/funding/negotiations/locale-killer.py ============================================================================== --- pypy/trunk/doc/funding/negotiations/locale-killer.py (original) +++ pypy/trunk/doc/funding/negotiations/locale-killer.py Mon Apr 5 15:58:30 2004 @@ -30,3 +30,13 @@ end = line[match.end(1):] line = start + g + end sys.stdout.write(line) + + +""" +TODO: + +apply locale-killer.py + + + +""" From hpk at codespeak.net Mon Apr 5 16:23:22 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Mon, 5 Apr 2004 16:23:22 +0200 (MEST) Subject: [pypy-svn] r3778 - pypy/trunk/doc/funding Message-ID: <20040405142322.98C1B5A19B@thoth.codespeak.net> Author: hpk Date: Mon Apr 5 16:23:21 2004 New Revision: 3778 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: removed a promise from the second task and claimed that we will implementing something "novel" with respect to distributed network models. Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Mon Apr 5 16:23:21 2004 @@ -38,11 +38,10 @@ **Task 2** -Build a distributed execution model at the language level by +Build a novel distributed execution model at the language level by implementing network-transparent execution of Python programs. (Typical libraries like the Zope Enterprise Objects (ZEO) or CORBA/Java RMI models require programs to be aware of the remote execution model.) -Analyse existing techniques and apply them to PyPy flexible architecture. **Task 3** From alastair at codespeak.net Mon Apr 5 17:53:22 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Mon, 5 Apr 2004 17:53:22 +0200 (MEST) Subject: [pypy-svn] r3780 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405155322.BA1735A19B@thoth.codespeak.net> Author: alastair Date: Mon Apr 5 17:53:22 2004 New Revision: 3780 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Added CM's indirect costs. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Mon Apr 5 17:53:22 2004 @@ -1925,11 +1925,11 @@ 21,200 21,200 - + 2160 - + 750 From arigo at codespeak.net Mon Apr 5 18:00:08 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 18:00:08 +0200 (MEST) Subject: [pypy-svn] r3781 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405160008.B9FAC5A652@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 18:00:07 2004 New Revision: 3781 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Applied locale-killer.py. All figures are now plain integers. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Mon Apr 5 18:00:07 2004 @@ -332,10 +332,10 @@ DE148646973 - 14000000.00 - 30000000.00 + 14000000 + 30000000 2002 - 14,000,000 + 14000000 277 137 26 @@ -422,8 +422,8 @@ - 1,000 - 1,000 + 1000 + 1000 100 0 @@ -467,10 +467,10 @@ 556609-2473 - 1,100,000 - 4,800,000 + 1100000 + 4800000 2003 - 800,000 + 800000 17 12 1 @@ -557,8 +557,8 @@ - 160,000 - 50,000 + 160000 + 50000 2003 2 @@ -602,10 +602,10 @@ - 150,038 + 150038 2000 - 10,000 + 10000 1 1 0 @@ -647,10 +647,10 @@ 0224 225 1201 - 130,000 + 130000 2003 - 10,000 + 10000 1 1 0 @@ -692,10 +692,10 @@ - 135,959 + 135959 2001 - 10,000 + 10000 1 1 0 @@ -1813,18 +1813,18 @@ 1 DFKI FC - 260,500 - 130,250 + 260500 + 130250 - 39,200 - 39,200 + 39200 + 39200 - 115,662 + 115662 - 17,404.80 + 17405 @@ -1834,8 +1834,8 @@ 2 USH AC - 220,500 - 220,500 + 220500 + 220500 @@ -1855,13 +1855,13 @@ 4 PBF AC - 94,060 - 94,060 + 94060 + 94060 - 35,000 + 35000 @@ -1876,18 +1876,18 @@ 5 STRAKT FC - 395,000 - 237,800 + 395000 + 237800 - 27,300 - 34,000 + 27300 + 34000 - 80,600 + 80600 - 6,700 + 6700 @@ -1897,8 +1897,8 @@ 6 LOGILAB FC - 295,680 - 147,840 + 295680 + 147840 @@ -1918,12 +1918,12 @@ 7 CM FC - 90,400 - 45,200 + 90400 + 45200 - 21,200 - 21,200 + 21200 + 21200 2160 @@ -1939,14 +1939,14 @@ 8 Krekel FCF - 226,000 - 135,600 + 226000 + 135600 - 45,200 + 45200 @@ -1960,14 +1960,14 @@ 9 Martelli FCF - 142,000 - 85,200 + 142000 + 85200 - 28,400 + 28400 @@ -1981,14 +1981,14 @@ 10 Tismer FCF - 270,250 - 162,150 + 270250 + 162150 - 54,050 + 54050 @@ -2086,8 +2086,8 @@ 1 1 6 - 862,537.50 - 862,537.50 + 862538 + 862538 @@ -2106,8 +2106,8 @@ 3 13 18 - 388,987.50 - 388,987.50 + 388988 + 388988 @@ -2116,7 +2116,7 @@ 4 19 24 - 101,475 + 101475 @@ -2987,62 +2987,62 @@ EUR - 61,607 - 89,860.57 - 4,362,341 - 5,031,956.77 - 2,000,830.93 - 2,000,830.93 - 19,064,270.31 - 11,971,658.98 - 959,503.87 - 613,503.47 + 61607 + 89861 + 4362341 + 5031957 + 2000831 + 2000831 + 19064270 + 11971659 + 959504 + 613503 - 3,268,970 - 4,941,600.75 - 553,631.50 - 472,911.42 - 572,000 - 562,421.07 - 4,231,354.14 - 3,713,416.21 + 3268970 + 4941601 + 553632 + 472911 + 572000 + 562421 + 4231354 + 3713416 - 213,071.11 - 544,777.22 - 2,216,757.01 - 2,586,629.21 - 1,988,536.85 - 2,110,407.60 - 20,927,564.75 - 15,489,147.47 - 121,870.75 - 115,524.16 - 7,109,860.24 - 7,080,140.35 - 7,098,124.34 - 5,872,995.43 - 1,309,973.39 - 1,479,339.67 - 23,684.72 - 92,239.46 - 2,577,271.20 - 2,181,684.71 - 11,674,608.66 - 10,955,088.18 - 1,020,577.56 - 1,156,248.09 - 157,695.38 - 400,326.90 - 122,919.05 - 116,335.84 + 213071 + 544777 + 2216757 + 2586629 + 1988537 + 2110408 + 20927565 + 15489147 + 121871 + 115524 + 7109860 + 7080140 + 7098124 + 5872995 + 1309973 + 1479340 + 23685 + 92239 + 2577271 + 2181685 + 11674609 + 10955088 + 1020578 + 1156248 + 157695 + 400327 + 122919 + 116336 - 152,284.78 - 282,781.28 - 222,645.12 - 110,477.85 + 152285 + 282781 + 222645 + 110478 From tismer at codespeak.net Mon Apr 5 18:28:07 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Mon, 5 Apr 2004 18:28:07 +0200 (MEST) Subject: [pypy-svn] r3782 - in pypy/trunk/doc/funding: makedoc negotiations Message-ID: <20040405162807.315765A652@thoth.codespeak.net> Author: tismer Date: Mon Apr 5 18:28:06 2004 New Revision: 3782 Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf Log: a new temporary build, for checking title page, date entries to update, and if the appendix file is valid. Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary files. No diff available. From pedronis at codespeak.net Mon Apr 5 18:48:12 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Mon, 5 Apr 2004 18:48:12 +0200 (MEST) Subject: [pypy-svn] r3783 - pypy/trunk/doc/funding Message-ID: <20040405164812.6B40B5A652@thoth.codespeak.net> Author: pedronis Date: Mon Apr 5 18:48:11 2004 New Revision: 3783 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: clarify task2 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Mon Apr 5 18:48:11 2004 @@ -38,8 +38,7 @@ **Task 2** -Build a novel distributed execution model at the language level by -implementing network-transparent execution of Python programs. (Typical +Build support for transparent remote proxying at the language level. (Typical libraries like the Zope Enterprise Objects (ZEO) or CORBA/Java RMI models require programs to be aware of the remote execution model.) From arigo at codespeak.net Mon Apr 5 19:13:32 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 19:13:32 +0200 (MEST) Subject: [pypy-svn] r3784 - pypy/trunk/doc/funding Message-ID: <20040405171332.B25EE5A19B@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 19:13:17 2004 New Revision: 3784 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: Expanded. Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Mon Apr 5 19:13:17 2004 @@ -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. +Seek feedback or look up existing techniques to guide the design, then 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,36 +35,46 @@ **Task 1** -Research new security techniques by leveraging PyPy's flexible and accessible -architecture. Coordinate with WP14_ and consult with researchers from the IBM -Zurich Research Lab in particular. +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** -Build support for transparent remote proxying at the language level. (Typical -libraries like the Zope Enterprise Objects (ZEO) or CORBA/Java RMI -models 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** Build persistence at the language level by implementing an -orthogonally persistent object space for Python programs. (Persistence -is never fully orthogonal without advanced language support, as witnessed -by libraries like the Zope Database (ZODB).) +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 Publish results about approaches to implement security - models at the language level. +- D12.1 An experimental prototype supporting control of individual operations + at the language level. -- D12.2 Release an experimental 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 Release an experimental 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 From arigo at codespeak.net Mon Apr 5 19:24:16 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 19:24:16 +0200 (MEST) Subject: [pypy-svn] r3785 - pypy/trunk/doc/funding Message-ID: <20040405172416.684095A19B@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 19:24:14 2004 New Revision: 3785 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: Fixed objectives' wording. Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Mon Apr 5 19:24:14 2004 @@ -23,9 +23,9 @@ **Objectives** Research and validate the flexibility and accessibility of PyPy by building -experimental prototypes of key middleware features into the language itself. -Seek feedback or look up existing techniques to guide the design, then publish -reports outlining the novel future directions opened up by the PyPy +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 From arigo at codespeak.net Mon Apr 5 19:34:39 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 19:34:39 +0200 (MEST) Subject: [pypy-svn] r3786 - pypy/trunk/doc/funding Message-ID: <20040405173439.70F795A19B@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 19:34:35 2004 New Revision: 3786 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt Log: Re-inserted 'security' in D12.1 Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Mon Apr 5 19:34:35 2004 @@ -64,8 +64,8 @@ **Deliverables** -- D12.1 An experimental prototype supporting control of individual operations - at the language level. +- D12.1 An experimental prototype supporting security through control of + individual operations at the language level. - D12.2 An experimental prototype supporting transparent remote proxying at the language level. From arigo at codespeak.net Mon Apr 5 19:34:48 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 19:34:48 +0200 (MEST) Subject: [pypy-svn] r3787 - pypy/trunk/doc/funding Message-ID: <20040405173448.F21935A19B@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 19:34:47 2004 New Revision: 3787 Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt Log: Updated for WP12. Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt ============================================================================== --- pypy/trunk/doc/funding/B6.6_deliverables_list.txt (original) +++ pypy/trunk/doc/funding/B6.6_deliverables_list.txt Mon Apr 5 19:34:47 2004 @@ -100,11 +100,13 @@ ----- ----------------------------------------------------- ----- ---- ---- D11.2 Documented feedback from Axis Communication 24 R PU ----- ----------------------------------------------------- ----- ---- ---- -D12.1 Secure restricted execution of Python programs 24 P PU +D12.1 Prototype supporting control of individual operations 24 P PU ----- ----------------------------------------------------- ----- ---- ---- -D12.2 Distributed execution of Python programs 24 P PU +D12.2 Prototype supporting transparent remote proxying 24 P PU ----- ----------------------------------------------------- ----- ---- ---- -D12.3 Persistent execution of Python programs 24 P PU +D12.3 Prototype supporting orthogonal persistence 24 P PU +----- ----------------------------------------------------- ----- ---- ---- +D12.4 Report on novel directions in middleware features 24 R PU ----- ----------------------------------------------------- ----- ---- ---- D13.1 A release with all optimization and runtime features 24 P PU ----- ----------------------------------------------------- ----- ---- ---- From lac at codespeak.net Mon Apr 5 21:27:30 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Mon, 5 Apr 2004 21:27:30 +0200 (MEST) Subject: [pypy-svn] r3790 - pypy/trunk/doc/funding Message-ID: <20040405192730.58F875A19B@thoth.codespeak.net> Author: lac Date: Mon Apr 5 21:27:29 2004 New Revision: 3790 Added: pypy/trunk/doc/funding/B6.7.wp01_management.txt.d Log: what we changed, first wp Added: pypy/trunk/doc/funding/B6.7.wp01_management.txt.d ============================================================================== --- (empty file) +++ pypy/trunk/doc/funding/B6.7.wp01_management.txt.d Mon Apr 5 21:27:29 2004 @@ -0,0 +1,20 @@ +Index: B6.7.wp01_management.txt +=================================================================== +--- B6.7.wp01_management.txt (revision 3000) ++++ B6.7.wp01_management.txt (working copy) + + **Deliverables** + +D01.1 Create QA plan for the project New Deliverable +D01.2 Collection and monitoring of reports + (monthly, sprints, review workshop, evaluation) was D01.1 +D01.3 Report to EU was D01.2 +D01.4 Organise project meetings was D01.3 +D01.5 Organize sprints New Deliverable +D01.6 Create and maintain internal web site was D01.4 +D01.7 Create and maintain newsletter covering ongoing New Deliverable + project process for external stakeholders + +Here we have changed the proposal by explictly listing more of our +documentation and dissemination deliverables, and providing the QA +plan requested. \ No newline at end of file From hpk at codespeak.net Mon Apr 5 22:08:00 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Mon, 5 Apr 2004 22:08:00 +0200 (MEST) Subject: [pypy-svn] r3792 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405200800.8AD4D5A19B@thoth.codespeak.net> Author: hpk Date: Mon Apr 5 22:07:59 2004 New Revision: 3792 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: changed "more specific" to "more selective" to hint stronger at the fact that we don'T cover the same ground as before Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Mon Apr 5 22:07:59 2004 @@ -46,7 +46,7 @@ The consortium has revisited each work package description and has provided a more consistent and more detailed work plan. We -were able to retain all Workpackages but had to be more specific about the +were able to retain all Workpackages but had to be more selective about the exact deliverables and tasks. This lead to an economized and tightened work planning. @@ -56,8 +56,6 @@ relies heavily on interacting early and often with specific communities and individuals to effectively mobilise our resources. -XXXFIXME: Do we say we reduced scope or not?? lac+ hpk- - **Action: provide fully completed and quality checked CPFs.** We have completed and improved the CPFs. The project office's feedback From arigo at codespeak.net Mon Apr 5 22:29:09 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Mon, 5 Apr 2004 22:29:09 +0200 (MEST) Subject: [pypy-svn] r3793 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405202909.9F6075A19B@thoth.codespeak.net> Author: arigo Date: Mon Apr 5 22:29:08 2004 New Revision: 3793 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: Experimental check-in. Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Mon Apr 5 22:29:08 2004 @@ -47,8 +47,8 @@ The consortium has revisited each work package description and has provided a more consistent and more detailed work plan. We were able to retain all Workpackages but had to be more selective about the -exact deliverables and tasks. This lead to an economized and tightened -work planning. +exact deliverables and tasks, most notably in WP06_, WP11_ and WP12_. +This leads to an economized and tightened work planning. However, due to the budget cuts each of the partners in the consortium now had to accept a much higher risk and responsbility for efficiently From lac at codespeak.net Mon Apr 5 23:16:25 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Mon, 5 Apr 2004 23:16:25 +0200 (MEST) Subject: [pypy-svn] r3794 - pypy/trunk/doc/funding Message-ID: <20040405211625.21FD95A19B@thoth.codespeak.net> Author: lac Date: Mon Apr 5 23:16:24 2004 New Revision: 3794 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: minor nits Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Mon Apr 5 23:16:24 2004 @@ -87,8 +87,8 @@ .. [*] The reference C-implementation 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 minority of the tests (less than 10%). + implementation detail might at times be hard to draw precisely, but in any + case only concerns a minority of the tests (less than 10%). Current State of The Art ------------------------------ @@ -120,7 +120,7 @@ C. Obtaining in this way an interpreter comparable with the current C Python implementation would be within current state of the art; but note that our approach differs in three respects (as explained in more -details in the next section): what we will translate is a dynamically loaded +details in the section *Beyond the State of the Art*): what we will translate is a dynamically loaded and initialized program state instead of the static source code; the translator works by abstract interpretation (also known as symbolic interpretation), which makes it independent from the actual source or bytecode; and we will @@ -130,7 +130,7 @@ It will enable separation on concerns between the translator, the core interpreter, and the Object Spaces, in the spirit of Aspect Oriented Programming (AOP) as developed in [KLM97]_. AOP separate cross-cutting -aspects into separate components. This approach has however not been used on +aspects into separate components. This approach has however never been used on interpreters for large practical languages. From tismer at codespeak.net Mon Apr 5 23:34:51 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Mon, 5 Apr 2004 23:34:51 +0200 (MEST) Subject: [pypy-svn] r3795 - pypy/trunk/doc/funding/makedoc Message-ID: <20040405213451.BBC425A155@thoth.codespeak.net> Author: tismer Date: Mon Apr 5 23:34:51 2004 New Revision: 3795 Modified: pypy/trunk/doc/funding/makedoc/prep_part_b.sxw Log: changed some settings in the template Modified: pypy/trunk/doc/funding/makedoc/prep_part_b.sxw ============================================================================== Binary files. No diff available. From pedronis at codespeak.net Mon Apr 5 23:47:59 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Mon, 5 Apr 2004 23:47:59 +0200 (MEST) Subject: [pypy-svn] r3796 - pypy/trunk/doc/funding/negotiations Message-ID: <20040405214759.7060A5A155@thoth.codespeak.net> Author: pedronis Date: Mon Apr 5 23:47:58 2004 New Revision: 3796 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: removed WP6 because is not a clear-cut showcase of this. It may be cited but with a discussion, if we decide to. Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Mon Apr 5 23:47:58 2004 @@ -47,7 +47,7 @@ The consortium has revisited each work package description and has provided a more consistent and more detailed work plan. We were able to retain all Workpackages but had to be more selective about the -exact deliverables and tasks, most notably in WP06_, WP11_ and WP12_. +exact deliverables and tasks, most notably in WP11_ and WP12_. This leads to an economized and tightened work planning. However, due to the budget cuts each of the partners in the consortium From lac at codespeak.net Tue Apr 6 07:34:49 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 07:34:49 +0200 (MEST) Subject: [pypy-svn] r3797 - pypy/trunk/doc/funding Message-ID: <20040406053449.6FE495A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 07:34:47 2004 New Revision: 3797 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: fix more typos, nits, and basically fiddle because I am that kind of person. Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Tue Apr 6 07:34:47 2004 @@ -9,7 +9,7 @@ the programmers that use them ("language users"). Even the implementations of Open Source dynamic languages have non-flexible designs crafted by a small group of developers. -(This has always been a 'given'. The language designers, or designers, +(This has always been a 'given'. The language designer, or designers, make certain tradeoffs in their language implementation, and the language users are stuck with what was decided, even if it does not suit their particular needs.) @@ -64,6 +64,7 @@ * choice of memory and threading model * choice of speed vs. memory trade-offs +* plugable adaptive implementations of various HL types, e.g. dictionaries * distributed/parallel execution (SMP or Networked) * orthogonal persistence * pervasive security support @@ -81,10 +82,13 @@ passing all unit-tests of the current reference C-implementation that are relevant to the new one. At least 90% of existing unit tests will be directly applicable.[*]_ Moreover, we will be able to add techniques such as JIT compilation -without making the interpreter more complex. Thus we will get speed increases of +without making the interpreter more complex. Not only will we thus +produce a more easily-understood optimising compiler, of particular +interest to educators, but we will also get speed increases of 2-10 times over the reference C-implementation. We expect algorithmic code to run at least at 50% of the speed of pure, optimized C code. + .. [*] The reference C-implementation 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 any @@ -100,8 +104,8 @@ researched attempt at achieving modularity for interpreters. They have not been tried on something as large as Python but in the context of Domain-Specific Languages (DSLs). However, the approach is hard -to relate to for programmers accustomed to more conventional Object-Oriented -(OO) programming and requires sophisticated partial evaluation to remove the +for programmers accustomed to more conventional Object-Oriented (OO) +Programming to grasp, and requires sophisticated partial evaluation to remove the monadic overhead. On the positive side, monad transformers are powerful enough to modularize continuation passing, exceptions and other control flow aspects. @@ -117,9 +121,10 @@ taken e.g. for the Scheme (Scheme 48) [K97]_ and the Smalltalk (Squeak) [IKM97]_ languages. These approaches are typically based on translation from high-level source code (or parsed source code) into -C. Obtaining in this way an interpreter comparable with the current C -Python implementation would be within current state of the art; but note -that our approach differs in three respects (as explained in more +C. It would be possible within this current state of the art to obtain +an interpreter comparable with the current C +Python implementation in functionality; but note +that our approach already differs in three respects (as explained in more details in the section *Beyond the State of the Art*): what we will translate is a dynamically loaded and initialized program state instead of the static source code; the translator works by abstract interpretation (also known as symbolic interpretation), @@ -154,7 +159,7 @@ possible to leverage its benefits to the new language. This path is not only much shorter than designing a complete custom JIT compiler, but it is also easier to maintain and evolve. This idea is explored - for the Self virtual machine in [WAU99]_, building on top of it + for the Self virtual machine in [WAU99]_, built on top of experimental Java and Smalltalk implementations . As pointed out in that paper, some source language features may not match any of the target virtual machine features. When this issue arises, we are left From lac at codespeak.net Tue Apr 6 07:47:07 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 07:47:07 +0200 (MEST) Subject: [pypy-svn] r3798 - pypy/trunk/doc/funding Message-ID: <20040406054707.6CBA55A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 07:47:06 2004 New Revision: 3798 Modified: pypy/trunk/doc/funding/B2.relevance_to_IST.txt Log: slightly change wording because the PBF is not a developer,just a consumer of reports now. fiddle because I'm me. Modified: pypy/trunk/doc/funding/B2.relevance_to_IST.txt ============================================================================== --- pypy/trunk/doc/funding/B2.relevance_to_IST.txt (original) +++ pypy/trunk/doc/funding/B2.relevance_to_IST.txt Tue Apr 6 07:47:06 2004 @@ -23,7 +23,7 @@ Python as a Language "For Everybody" ++++++++++++++++++++++++++++++++++++ -The European industry as well as many developers are not interested in +The European industry, as well as many developers, are not interested in yet another new language. Instead our project will produce an extremely flexible and performing development platform around the Python programming language. Much anecdotal, and some empirical, @@ -68,7 +68,7 @@ Python is the most widely used European-designed computer language. Its development started in 1990, at CWI, Centrum voor Wiskunde en Informatica, the National Research Institute for Mathematics and -Computer Science in the Netherlands, it will strengthen our leadership +Computer Science in the Netherlands. This project will strengthen European leadership in the area of innovative language design, and increase world-wide awareness of this fact. We can even do our bit to reverse the brain-drain, as talented European language designers will no longer @@ -85,7 +85,7 @@ and industry and thus contributing to the greater well-being of all European citizens. -Working with the strong opensource community to overcome the +Working with the strong Open Source community to overcome the European weakness with development platforms obviously builds on the strategies as outlined in the SWOT-analysis by the IST workgroup. @@ -150,15 +150,16 @@ +++++++++++++++++++++++++++++++++++++++++++++ The consortium includes the Python Business Forum, an international trade -association of SMEs who develop using the Python programming language. +association of SMEs who develop using the Python programming language, and +other SME partners. Since SMEs are the main engines for innovation, growth, and competitiveness -in the IT sector, by supporting these SMEs, and improving the language they -use to develop one can directly have a positive effect on competitiveness. -Moreover, synergies can be developed between the SMEs and academia, and SME -and large industrial players. Disseminating knowledge to these SMEs is a -primary goal of this proposal, and a major focus of our efforts. They are -poised to fully exploit the new language implementation because they will be -among its developers, and beneficiaries of a focused effort in +in the IT sector, supporting these SMEs, and improving the language they +use to develop can have a direct positive effect on European competitiveness. +Moreover, synergies can be developed between the SMEs and academia, and SMEs +and large industrial players. Disseminating knowledge to SMEs is a +primary goal of this proposal, and a major focus of our efforts. They will be +poised to fully exploit the new language implementation because they are +among its developers, and the beneficiaries of a focused effort in knowledge dissemination. Contribution to EC Policies @@ -170,8 +171,8 @@ Since the SMEs are in a hurry to commercialise products which use this research, the academics will see that their research is not wasted -- locked into tiny languages which have little effect outside of the -academic community. A specialising Just in Time Compiler for Python, +academic community. A specialising Just-in-Time Compiler for Python, designed for the use of networked and embedded systems will have immediate effect in reinforcing European dominance in this demanding competitive field, and thus contribute to the employment of people -in desirable jobs in a rapidly growing field. +in desirable jobs in a rapidly growing commercial sector. From lac at codespeak.net Tue Apr 6 08:42:36 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 08:42:36 +0200 (MEST) Subject: [pypy-svn] r3799 - pypy/trunk/doc/funding Message-ID: <20040406064236.058915A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 08:42:36 2004 New Revision: 3799 Modified: pypy/trunk/doc/funding/B3.impact.txt Log: add IBM Zurich, and fix typos. Also, fiddle, fiddle, won't the woman ever stop? Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Tue Apr 6 08:42:36 2004 @@ -153,30 +153,34 @@ Python with greater speed will seamlessly improve the offerings of those European companies who already develop using Python. Moreover, -some companies resist using Python because of speed concerns. If +many companies resist using Python because of speed concerns. If execution speed, rather than development speed is of paramount importance, then Python is currently not a very good language -choice. A faster Python would thus have more appeal. +choice. A faster Python would be appealing to such companies, perhaps +appealing enough to motivate them to switch development languages. +Already many companies are using Python for their scripting needs, +indicating that the speed factor is very significant. Strategic Impact of Open Source ================================ Open Source has now reached an installed application base sufficient to become widely recognized as a viable business standard, especially in -Europe. This has no doubt been aided by the proprietary alternatives being -intellectual properties of large USA based companies and the growing -awareness of the benefits that Open Source can provide. The European Union, +Europe. This is in part because the proprietary alternatives are +intellectual properties of large USA based companies, but also due to +a growing awareness of the other benefits that Open Source can provide. +The European Union, comprising heterogeneous distinct regions with different availability -of economic resources, is well positioned to take advantage of the open -source momentum. One reason that Open Source is becoming so appealing is due +of economic resources, is well positioned to take advantage of the Open +Source momentum. One reason that Open Source is becoming so appealing is due to its equal suitability for projects based on diverse capital budgets. -Python is an Open Source, easy to learn, easy to use, programming -language that is readily accessible to a broad user base, estimated at -175,000 programmers world-wide, ranging from education establishments -through government to commercial enterprises of all sizes. This +Python is an easy to learn, easy to use, Open Source programming +language. It is readily accessible to a broad user base, estimated at +175,000 programmers world-wide, employed in education, +government and commercial enterprises of all sizes. This project aims at building upon the inherent strengths of Python to -ensure its longevity in the commercial and research marketplace. This +ensure its longevity in the commercial and research marketplaces. This will maximize the return of the existing and future capital investment in this technology and ensure Python's widespread acceptance as one of the most cost-effective technology platforms available. @@ -187,7 +191,7 @@ is its dependence upon proprietary closed source software, mostly made in the United States. This is not only an issue of money being spent in the United States is money that is not being spent here, -although that affects matters as well. There are two more serious +although that affect matters as well. There are two more serious risks. The first is a threat in the present. Any company which writes its @@ -238,7 +242,7 @@ International Python community. Our success in that regard was more fully spoken about in B3.1, International Standards, but suffice to say that the only possible dimensions for this project is 'Europe -wide' or 'World Wide'. We could not find the expertise needed in a +Wide' or 'World Wide'. We could not find the expertise needed in a single country, and nor could we attain international acceptance without involving the top members of the Python community. Working at a smaller (single-country) scale would only 'fork the project' -- make @@ -265,14 +269,14 @@ This is an Open Source Project. Thus complicated issues involving intellectual property do not arise. The knowledge produced by this project, every deliverable, is listed at Dissemination Level -Public. We are utterly committed to transparency and open dissemination, +Public (PU). We are utterly committed to transparency and open dissemination, and as such will have all of our code available for nightly downloads, our papers freely available on the PyPy websites, and freely available for other people to link to. All Consortium members will have signed a consortium agreement, asserting that all code producing during the PyPy STREP will be released under the MIT Open Source License, approved by both the Open Source Initiative and the Free Software Foundation. -The MIT license is here. +The MIT license is here: :: @@ -307,29 +311,33 @@ The consortium did consider using the GPL license for protection from a commercial takeover. We regognise that there is some risk that the -results of our project would be subject to an "embrace and extend" +results of our project would be subject to an 'embrace and extend' strategy or another form of hostile takeover, especially if the project is a great success. -However, we will not reach the adoption necessary for such a scenario to -be likely unless we manage to get widespread adoption both within and +However, the 'critical mass' which makes such a scenario +likely is dependent upon our achieving widespread adoption both within and outside the present Python community. Before we can get any adoption outside the Python community, we have to win the hearts of people on the inside. These people - especially the portal figures - have a strong preference for MIT license models and lack enthusiasm for the GPL. -Also, a takeover attempt is not necessarily successful and the Python +Also, such a takeover attempt is not guranteed to be successful and the Python world is probably more resilient to such tries than most other communities, since it is more strongly integrated and collaboratively focused than other comparable groups. -Management of intellectual property consists of a posting the license on -the website or wherever source code is available, and periodically +Management of Intellectual Property +==================================== + +Management of the primary PyPy intellectual property, source code, +consists of posting the license on +the website, or wherever source code is available, and periodically running a program, especially before software releases, to check that the license is properly refered to from each file. -The only other intellectual property which we will produce are -scientific papers, talks, and the like. They will all be freely +The only other intellectual properties which we will produce are +scientific papers, talks, workshops, and the like. They will all be freely available. Copyright shall rest in the authors, unless somebody gives a paper to one of the scientific journals that keeps all copyright to itself. In either case, no management is necessary. @@ -399,7 +407,7 @@ Our first goal in exploitation will be to make PyPy the reference Python language. Our market, then is all existing Python programmers. -_Just how many are we?_ +*Just how many are we?* It is always difficult to measure how many people are using a programming language. Python is generally ranked the sixth most popular @@ -418,7 +426,7 @@ Users Counter; you can see the current count by visiting http://www.wszechnica.safenet.pl/cgi-bin/checkpythonuserscounter.py - Jacek's counter has more than 43 000 registered users. + Jacek's counter has more than 43,000 registered users. Googling for 'python programming' gives 3,020,000 hits. ('Python' gives ten million, but many of those Pythons are probably actual reptiles.) @@ -430,8 +438,8 @@ as Haskell, OCaml, Smalltalk, ADA, Ruby etc. Some statistics from python.org may be relevant. There were 47,751 -Python 2.3 downloads in the first 10 days of September. These are the -'bleeding edge' developers, who were interested in the new release of +Python 2.3 downloads in the first 10 days of September 2003. These are the +**bleeding edge** developers, who were interested in the new release of Python first made available at the end of August. At the other end of the spectrum, there are many more who wait for Python to become available as a Red Hat, or Debian package, or simply use the version @@ -444,7 +452,7 @@ this point, and has been rising steadily from about 250,000 this time last year. -Converting this into an actual estimate of number of users is a difficult, +Converting this into an actual estimate of number of users is difficult, because: 1) One user may use multiple machines (e.g. home & work & cafe) @@ -527,7 +535,7 @@ The results of the PyPy project are also expected to be utilized by established industrial users. We have expressions of interest from *Bang and Olufsen*, the Danish manufacturer of high-end stereo -equipment, *Vodaphone* and *Ericsson* the mobile industrialists, +equipment, * The IBM Zurich Resarch lab*, *Vodaphone* and *Ericsson* the mobile industrialists, *Siemens*, the German conglomerate, and *Axis* the Swedish-based multinational market leader in in-house developed chip technology for network video and print servers. From lac at codespeak.net Tue Apr 6 08:46:25 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 08:46:25 +0200 (MEST) Subject: [pypy-svn] r3800 - pypy/trunk/doc/funding Message-ID: <20040406064625.74C4E5A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 08:46:24 2004 New Revision: 3800 Modified: pypy/trunk/doc/funding/B3.impact.txt Log: fix ReST formatting error (I hope). also fiddle the capitalisation of one word Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Tue Apr 6 08:46:24 2004 @@ -535,7 +535,7 @@ The results of the PyPy project are also expected to be utilized by established industrial users. We have expressions of interest from *Bang and Olufsen*, the Danish manufacturer of high-end stereo -equipment, * The IBM Zurich Resarch lab*, *Vodaphone* and *Ericsson* the mobile industrialists, +equipment, *The IBM Zurich Resarch Lab*, *Vodaphone* and *Ericsson* the mobile industrialists, *Siemens*, the German conglomerate, and *Axis* the Swedish-based multinational market leader in in-house developed chip technology for network video and print servers. From lac at codespeak.net Tue Apr 6 08:48:09 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 08:48:09 +0200 (MEST) Subject: [pypy-svn] r3801 - pypy/trunk/doc/funding Message-ID: <20040406064809.3EB515A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 08:48:08 2004 New Revision: 3801 Modified: pypy/trunk/doc/funding/B3.impact.txt Log: and, while we are at it, learn to spell Research properly. _blush_ Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Tue Apr 6 08:48:08 2004 @@ -535,7 +535,7 @@ The results of the PyPy project are also expected to be utilized by established industrial users. We have expressions of interest from *Bang and Olufsen*, the Danish manufacturer of high-end stereo -equipment, *The IBM Zurich Resarch Lab*, *Vodaphone* and *Ericsson* the mobile industrialists, +equipment, *The IBM Zurich Research Lab*, *Vodaphone* and *Ericsson* the mobile industrialists, *Siemens*, the German conglomerate, and *Axis* the Swedish-based multinational market leader in in-house developed chip technology for network video and print servers. From lac at codespeak.net Tue Apr 6 09:29:45 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 09:29:45 +0200 (MEST) Subject: [pypy-svn] r3802 - pypy/trunk/doc/funding Message-ID: <20040406072945.C978F5A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 09:29:45 2004 New Revision: 3802 Modified: pypy/trunk/doc/funding/B4.resources.txt Log: fix some inconsistencies with the PBF new role. alastairs formatting is not perfect, but I think that there, in roles, its his script not our text. fix some typos. krekel, martelli, and tismer will be pleased to know they have bank guarantees out there, replacing the one I offered the PBF. Samuele is now a PSF member, not a candidate member. more fiddling that I forget, undoubtably. Let's hope ReST likes the lot. Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Tue Apr 6 09:29:45 2004 @@ -156,7 +156,7 @@ now a main developer of Jython, working on internals, compilers and Java integration, and was author of Jython Essentials (O'Reilly, 2002). He is also involved on the ongoing design of Python. For his -contributions to Python/Jython he has been nominated a member of the +contributions to Python/Jython he was nominated and accepted as a member of the Python Software Foundation. He brings to the project his know-how on languages, re-implementation/design of Python, reflection, lookup and dispatch optimization. @@ -300,16 +300,16 @@ ~~~~~~~~~~~~~ **Alex Martelli**: Best-selling author of *Python in a -Nutshell*. Co-editor of *Python Cookbook* . ActiveState 2002 -"Activators' Choice" award. PSF member, Python language developer, PBF -board member. Currently works with AB Strakt, developing the CAPS +Nutshell*. Co-editor of *Python Cookbook*. ActiveState 2002 +*Activators' Choice* award winner. PSF member, Python language developer, PBF +board member. Consultant to AB Strakt, developing the CAPS framework. Also consults for other firms on Python and O-O design, teaching, coding, feasibility studies, interfacing. 1989-2002, Cad.Lab (think3, Inc): innovative component architecture for web-enabling existing GUI- oriented apps; Event Manager, interfacing, proprietary protocols. Taught Computer Programming and Numerical Analysis, Ferrara University. 1981-1989, IBM Research: 3 Outstanding Technical -Achievement awards, voice recognition, image processing. "Laurea" +Achievement awards, voice recognition, image processing. *Laurea* 1980, Electronic Engineering, Bologna University, 100/100 magna cum laude. @@ -392,7 +392,6 @@ where EU funded activity will take place, is restricted to members of the European Union and the Candidate countries. - Quality of Partnership, Involvement of Users and SMEs ----------------------------------------------------- @@ -400,8 +399,8 @@ +++++ While all the partners except Changemaker have staff with Python -programming skills that will enable them to fulfill computer program -development in the various tasks of the project, each partner brings +programming skills that will enable them to fulfill their responsibilities +in the various tasks of the project, each partner brings unique skills or functions, without which the project is not complete. DFKI @@ -529,7 +528,7 @@ logged and archived. You can watch us create our documents, our code, and our deliverables, day to day, as it happens. Meetings in person will be summarised, and they will be posted. This is -'life in a fish bowl', as transparent a process as you can see. +*life in a fish bowl*, as transparent a process as you can see. This is important because the reason most projects fail to deliver is because somebody was having a problem, and was too embarassed or @@ -556,7 +555,7 @@ The second is Finance. We don't need to mobilise outside financial contributions, though we have some excellent connections. AB Strakt, -and The Python Business Forum have already arranged for bank +Krekel, Martelli and Tismer have already arranged for bank guarantees, should they be required by the Commission. The PBF and AB Strakt both use KPMG as their standard auditor, and a KPMG recommended bookkeeper who is familiar with EU project funding for their daily @@ -564,14 +563,15 @@ successful EU projects, and will simply continue their usual behaviour. -And the third, and most important, is people. This is where this +And the third, and most important resource to be mobilised, +is people. This is where this Consortium really shines. Not only have we already attracted some of the top people in the Python community in this project, we also have a plan to continue to attract the interest, support, and constructive -criticism of the very best. The Open Source movement is all about -community. This fact is often overlooked by people who are -discovering us for the first time. It is all about people and not -only about licensing. Successful Open Source projects are based on +criticism of the very best. The Open Source movement is **all about +community**. This fact is often overlooked by people who are +discovering Open Source for the first time, who mistakenly believe that it +is **all about licensing**. Successful Open Source projects are based on sharing and trust, process rather than product, and key people. The same is true of Agile development methods, as defined by the Agile Alliance. @@ -586,15 +586,15 @@ *The Mythical Man Month*. In it he asserts the then-controversial, and now well-established -claim: 'Adding people to a late software project makes it later'. -This is because the communications cost of 'bringing a new person up -to speed' outweighs the benefits you can get by putting them on the +claim: **Adding people to a late software project makes it later**. +This is because the communications cost of *bringing a new person up +to speed* outweighs the benefits you can get by putting them on the project. And some projects are just too large -- the burden of simply letting the left hand know what the right hand is doing is crippling. Sprint Driven Development is an attempt to make a development model which refutes this claim. What would you get if you didn't -have to 'bring people up to speed' because *they were already +have to *bring people up to speed* because *they were already aware of the project*? If you published everything you were doing and made constant efforts to communicate where you were, and why you were doing things to the base of programmers you might @@ -604,7 +604,7 @@ could be shared among programmers) they would already be mostly ready to go. -You could not do that in a proprietary environment. You _can_ do this +You could not do that in a proprietary environment. You **can** do this in the Open Source Software community. A for-profit company cannot afford to have very many people just sitting around, preparing, absorbing knowledge, in case they might be needed somewhere. @@ -616,25 +616,25 @@ students, and teachers. The second are those people in industries which have an off-season -- tax preparers and fishermen both fit this pattern. And the third are software consultants, both small and those -in large IT consulting firms. Learning things is called 'keeping -current' and is essential to maintaining competitiveness as a software -consultant. I will call these people 'seasonal workers' though the +in large IT consulting firms. Learning things is called *keeping +current* and is essential to maintaining competitiveness as a software +consultant. I will call these people **seasonal workers** though the term is not quite accurate. The important thing is that you can -mobilise them for short projects. And the Open Source community _has_ +mobilise them for short projects. And the Open Source community *has* mobilised them quite effectively. Sprinting is more than just an effort to maximise creativity by putting all your creative people in a room and letting them bounce ideas off each other and write code to test theories. (Though it is that, too, and that is very important.) Sprinting is also an way to constantly involve the community -and disseminate knowledge, especially the more difficult 'know-how', as -opposed to 'know-that' which one can read in books, papers, mailing lists -and websites. It keeps people 'in the loop' -- ready to contribute should +and disseminate knowledge, especially the more difficult **know-how**, as +opposed to **know-that** which one can read in books, papers, mailing lists +and websites. It keeps people *in the loop* -- ready to contribute should it be necessary -- especially when combined with the sort of supplementary -materials we intend to produce. ('Know-that' is good too, it is just that -it is 'know-how' that you need to bring a new person up to speed in a -project.. The PBF, as a non-profit, is a vehicle which is perfect for -helping with the organisation of sprints. +materials we intend to produce. (**Know-that** is obviously good as well, +but, +it is **know-how** that is must be developed when bringing a new person up to speed in a +project.) As part of this project, we intend to document our creative process in the hope that it will be picked up throughout the Open Source community From lac at codespeak.net Tue Apr 6 09:41:23 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 09:41:23 +0200 (MEST) Subject: [pypy-svn] r3803 - pypy/trunk/doc/funding Message-ID: <20040406074123.6604D5A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 09:41:22 2004 New Revision: 3803 Modified: pypy/trunk/doc/funding/B5.0_manage_bea.txt Log: Fix minor inconsistencies with the rest of the documents. Also, not have Alex employed by Strakt, in case they get confused and want to charge Strakt for his time. Boast that Samule, on the technical board comes from Strakt. fiddle (but hardly any this time! really, you will be amazed at my self-restraint). Modified: pypy/trunk/doc/funding/B5.0_manage_bea.txt ============================================================================== --- pypy/trunk/doc/funding/B5.0_manage_bea.txt (original) +++ pypy/trunk/doc/funding/B5.0_manage_bea.txt Tue Apr 6 09:41:22 2004 @@ -137,11 +137,11 @@ representative in ONE-2, an EU funded project under the Telematics for Libraries project (http://www.one-2.org) -Since 2000, Jacob has been involved in founding AB Strakt +Since 2001, Jacob has been involved in founding AB Strakt (http://www.strakt.com), a company developing workflow and document handling systems. There he has worked in roles as developer, project manager, CTO and CEO. The company has grown from 3 employees to having -12 full time employees and 6 part time employees so far. +13 full time employees and 6 part time employees so far. Connected to his work at AB Strakt, Jacob has also been active as co-founder and chairman of the Python Business Forum, an international @@ -276,7 +276,7 @@ Representatives in the technical board: - Armin Rigo, University of Southampton -- Samuele Pedroni +- Samuele Pedroni, AB Strakt - Holger Krekel - Christian Tismer From pedronis at codespeak.net Tue Apr 6 10:52:38 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 10:52:38 +0200 (MEST) Subject: [pypy-svn] r3806 - pypy/trunk/doc/funding Message-ID: <20040406085238.9F1595A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 10:52:37 2004 New Revision: 3806 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: experimental Java and Smalltalk VMs were built on top of the Self VM, not the other way around. Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Tue Apr 6 10:52:37 2004 @@ -159,8 +159,8 @@ possible to leverage its benefits to the new language. This path is not only much shorter than designing a complete custom JIT compiler, but it is also easier to maintain and evolve. This idea is explored - for the Self virtual machine in [WAU99]_, built on top of - experimental Java and Smalltalk implementations . As pointed out in + in [WAU99]_ with experimental Java and Smalltalk implementations , built on top of + for the Self virtual machine. As pointed out in that paper, some source language features may not match any of the target virtual machine features. When this issue arises, we are left with the hard problem of refactoring an efficient JIT compiler-based From pedronis at codespeak.net Tue Apr 6 10:54:02 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 10:54:02 +0200 (MEST) Subject: [pypy-svn] r3807 - pypy/trunk/doc/funding Message-ID: <20040406085402.EB65F5A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 10:54:02 2004 New Revision: 3807 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: the 'for' was too much Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Tue Apr 6 10:54:02 2004 @@ -160,7 +160,7 @@ not only much shorter than designing a complete custom JIT compiler, but it is also easier to maintain and evolve. This idea is explored in [WAU99]_ with experimental Java and Smalltalk implementations , built on top of - for the Self virtual machine. As pointed out in + the Self virtual machine. As pointed out in that paper, some source language features may not match any of the target virtual machine features. When this issue arises, we are left with the hard problem of refactoring an efficient JIT compiler-based From hpk at codespeak.net Tue Apr 6 11:01:37 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 11:01:37 +0200 (MEST) Subject: [pypy-svn] r3809 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406090137.043545A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 11:01:37 2004 New Revision: 3809 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - fixed typo - hint that we only "hope to have fixed the locale problem" Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 11:01:37 2004 @@ -71,7 +71,7 @@ someone from a different country using a different number format many numbers get corrupted. This explains why you thought we had estimated our costs in kilo-euros, when we were certain that we had not. It was -locale and language problem. +locale and language problem which we hope to have under control now. **Action: Also the reduction of the language user involvement already represents a reduction in work and required budget.** @@ -163,7 +163,7 @@ The first phase has been renamed to "Building a Novel Language Research Tool". In particular the first phase (D04.4) will provide a novel research tool and -various reseach results on building a highly flexible and modular +various research results on building a highly flexible and modular interpreter will be published on conferences (see D05.1, D05.3, D05.4). **Action: The DoW will be modified to clarify this [multithreading] issue**. From arigo at codespeak.net Tue Apr 6 11:38:38 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Tue, 6 Apr 2004 11:38:38 +0200 (MEST) Subject: [pypy-svn] r3810 - pypy/trunk/doc/funding Message-ID: <20040406093838.37F5C5A155@thoth.codespeak.net> Author: arigo Date: Tue Apr 6 11:38:37 2004 New Revision: 3810 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: Typo. Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Tue Apr 6 11:38:37 2004 @@ -190,7 +190,7 @@ proved very useful for knowledge representation and optimisation problems. The key features of these languages are the use of a *logic variable*, which allows the matching of data through unification or -constraint processing, and non-determinsitc control structures. Work +constraint processing, and non-deterministic control structures. Work initiated at the DFKI has examined ways to combine these constructs with those from other languages[Sch02]_. A key concept here is *encapulated search*, which hives off these features from the more mainstream From alastair at codespeak.net Tue Apr 6 12:02:45 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Tue, 6 Apr 2004 12:02:45 +0200 (MEST) Subject: [pypy-svn] r3811 - in pypy/trunk/doc/funding: . makedoc Message-ID: <20040406100245.233D25A155@thoth.codespeak.net> Author: alastair Date: Tue Apr 6 12:02:45 2004 New Revision: 3811 Added: pypy/trunk/doc/funding/makedoc/dow.pdf (contents, props changed) Modified: pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt Log: Removed reference to Zope in WP9. Modified: pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp09_search_and_logic.txt Tue Apr 6 12:02:45 2004 @@ -51,8 +51,7 @@ 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 and the integration of search into the Zope -application server. +knowledge representation. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc Added: pypy/trunk/doc/funding/makedoc/dow.pdf ============================================================================== Binary file. No diff available. From tismer at codespeak.net Tue Apr 6 12:03:32 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Tue, 6 Apr 2004 12:03:32 +0200 (MEST) Subject: [pypy-svn] r3812 - in pypy/trunk/doc/funding: . negotiations Message-ID: <20040406100332.1A7A25A155@thoth.codespeak.net> Author: tismer Date: Tue Apr 6 12:03:31 2004 New Revision: 3812 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt pypy/trunk/doc/funding/B4.resources.txt pypy/trunk/doc/funding/B6.0_detailed_implementation.txt pypy/trunk/doc/funding/B6.6_deliverables_list.txt pypy/trunk/doc/funding/B6.7.wp06_core_optimisations.txt pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt pypy/trunk/doc/funding/long_old_objectives.txt pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt pypy/trunk/doc/funding/participant_search.txt pypy/trunk/doc/funding/plan.txt Log: optimised optimization :-) Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Tue Apr 6 12:03:31 2004 @@ -301,7 +301,7 @@ instruments the interpreter itself.) The one-to-one correspondence between parts of CPython and Psyco is as follows: to each expression in the source of CPython corresponds a more complex expression in Psyco, -which does instrumentation and optimizations. Our plan is thus to +which does instrumentation and optimisations. Our plan is thus to generate automatically as much of the JIT as possible, by changing the translator to generate instrumenting/optimizing C instructions instead of (or in addition to) the normal C instructions that would be the @@ -364,7 +364,7 @@ .. [AFGHS00] Matthew Arnold, Stephen J. Fink, David Grove, Michael Hind, and Peter F. Sweeney, - "Adaptive optimization in the Jalapeno JVM", In Conference on Object-Oriented Prorgramming and Systems, pp. 47-65, 2000. + "Adaptive Optimization in the Jalapeno JVM", In Conference on Object-Oriented Prorgramming and Systems, pp. 47-65, 2000. http://citeseer.nj.nec.com/arnold00adaptive.html Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Tue Apr 6 12:03:31 2004 @@ -135,7 +135,7 @@ **Tim Peters**: Over 20 years top-tier industrial experience in programming language implementation and high-performance computing. 1979-1988, Cray Research: Compiler development, Group -leader--common back-end optimization group. 1988- 1994, Kendall +leader--common back-end optimisation group. 1988- 1994, Kendall Square Research (KSR), Compiler and Library development, Architecture and FPU design. 1994-2000, Dragon Systems: Developed core speech recognition system for portable devices; scalable, large-scale @@ -143,7 +143,7 @@ product. 2000 to present: Zope Corporation: Development--Core technologies underlying Zope's leading content management framework; Python core. Python: first port of Python to 64- bit platform (KSR-1); -POSIX pthreads support; algorithmic and optimization expertise; +POSIX pthreads support; algorithmic and optimisation expertise; elected Director of Python Software Foundation (PSF) since its inception. @@ -159,7 +159,7 @@ contributions to Python/Jython he was nominated and accepted as a member of the Python Software Foundation. He brings to the project his know-how on languages, re-implementation/design of Python, reflection, lookup and dispatch -optimization. +optimisation. **Laura Creighton**: Co-founder and lead investor of AB Strakt, Treasurer of the PBF. Studied Physics (csc minor) at the University of Toronto, @@ -431,7 +431,7 @@ internals, compilers and Java integration. A member of the Python Software Foundation, he brings to the project his know-how on languages, re-implementation/design of Python, reflection, lookup and - dispatch optimization. + dispatch optimisation. With 13 full time and 6 part time employees, Strakt is an SME representative. Strakt is particularly interested in this project Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Tue Apr 6 12:03:31 2004 @@ -261,7 +261,7 @@ would both prove the versatility of the PyPy platform and give performance results possibly far beyond the state of the art. This is a reasonable assumption because the long history of Prolog is quite focused on - static (compile-time) optimizations. + static (compile-time) optimisations. --Armin Rigo, for ASAP, Southampton team (Advanced Specialization and Analysis for Pervasive Computing), EU IST FET Programme Project Number Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt ============================================================================== --- pypy/trunk/doc/funding/B6.6_deliverables_list.txt (original) +++ pypy/trunk/doc/funding/B6.6_deliverables_list.txt Tue Apr 6 12:03:31 2004 @@ -58,7 +58,7 @@ ----- ----------------------------------------------------- ----- ---- ---- D05.4 Publish on encapsulating low level language aspects 10 R PU ----- ----------------------------------------------------- ----- ---- ---- -D06.1 Integrate the first core optimization results 18 P PU +D06.1 Integrate the first core optimisation results 18 P PU ----- ----------------------------------------------------- ----- ---- ---- D06.2 Publication of statistics for core objects 24 R PU ----- ----------------------------------------------------- ----- ---- ---- @@ -108,7 +108,7 @@ ----- ----------------------------------------------------- ----- ---- ---- D12.4 Report on novel directions in middleware features 24 R PU ----- ----------------------------------------------------- ----- ---- ---- -D13.1 A release with all optimization and runtime features 24 P PU +D13.1 A release with all optimisation and runtime features 24 P PU ----- ----------------------------------------------------- ----- ---- ---- D13.2 A build- and configuration tool 24 P PU ----- ----------------------------------------------------- ----- ---- ---- Modified: pypy/trunk/doc/funding/B6.7.wp06_core_optimisations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp06_core_optimisations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp06_core_optimisations.txt Tue Apr 6 12:03:31 2004 @@ -1,6 +1,6 @@ .. include:: crossreferences.asc -.. |title| replace:: Core Optimizations +.. |title| replace:: Core Optimisations .. |wp| replace:: WP06 .. |start| replace:: 9 .. |p1| replace:: USH @@ -52,7 +52,7 @@ **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. @@ -63,7 +63,7 @@ **Deliverables** -- D06.1 Integrate the first core optimization results into the PyPy core +- 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 Modified: pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp07_translator_optimisations.txt Tue Apr 6 12:03:31 2004 @@ -1,6 +1,6 @@ .. include:: crossreferences.asc -.. |title| replace:: Translator Optimizations +.. |title| replace:: Translator Optimisations .. |wp| replace:: WP07 .. |start| replace:: 9 .. |p1| replace:: Tismer @@ -56,7 +56,7 @@ **Task 2** -Use PyPy as a research tool for general optimizations. +Use PyPy as a research tool for general optimisations. - Study approaches concerning code size vs. speed trade-offs. @@ -64,9 +64,9 @@ strategies. Implement schemes of pointer tagging. - Enhance multimethod dispatching and other places where hand-crafted - optimizations can help the translator. + optimisations can help the translator. -- Create reports and merge the results back into the optimization effort. +- Create reports and merge the results back into the optimisation effort. As of general interest, submit the reports as publication. .. include:: wp-tableend.asc Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Tue Apr 6 12:03:31 2004 @@ -1,6 +1,6 @@ .. include:: crossreferences.asc -.. |title| replace:: Dynamic Optimizations +.. |title| replace:: Dynamic Optimisations .. |wp| replace:: WP08 .. |start| replace:: 9 .. |p1| replace:: STRAKT Modified: pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp13_integration_config.txt Tue Apr 6 12:03:31 2004 @@ -58,7 +58,7 @@ **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. Modified: pypy/trunk/doc/funding/long_old_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/long_old_objectives.txt (original) +++ pypy/trunk/doc/funding/long_old_objectives.txt Tue Apr 6 12:03:31 2004 @@ -99,7 +99,7 @@ Flexibility is often associated with poor performances, although theoretically, high-level languages are more expressive and thus are -open to a wider range of optimization than low-level languages, and +open to a wider range of optimisation than low-level languages, and should then outperform them. Of course this trend is not exactly confirmed in practice so far; the only examples that one could give are derived from bad or buggy low-level algorithms being repeatedly Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 12:03:31 2004 @@ -83,7 +83,7 @@ specific extensions to PyPy. b) researchers and educators who want to explore and understand new - optimization and language techniques + optimisation and language techniques In particular the following deliverables will serve involvement of these language users: Modified: pypy/trunk/doc/funding/participant_search.txt ============================================================================== --- pypy/trunk/doc/funding/participant_search.txt (original) +++ pypy/trunk/doc/funding/participant_search.txt Tue Apr 6 12:03:31 2004 @@ -53,7 +53,7 @@ - providing Python as a programming language. - very good performance even on slow devices, - due to the optimization built into PyPy. + due to the optimisation built into PyPy. - ability to save a running program for later re-use. A running application can be saved in a restartable @@ -92,7 +92,7 @@ - Intelligent network switches - Due to the high optimization level of PyPy in its + Due to the high optimisation level of PyPy in its optimized state, it is possible to write the whole control software for switches in Python. Modified: pypy/trunk/doc/funding/plan.txt ============================================================================== --- pypy/trunk/doc/funding/plan.txt (original) +++ pypy/trunk/doc/funding/plan.txt Tue Apr 6 12:03:31 2004 @@ -27,7 +27,7 @@ The goal is to be able to translate arbitrary RPython source code (e.g. the one produced in 1a) into low-level code (C, Pyrex, Java, others). This includes making a stand-alone, not-!PyPy-related tool for general -optimization of arbitrary but suitably restricted Python application or +optimisation of arbitrary but suitably restricted Python application or parts thereof. a) analyse code to produce the relevant typing information. Investigate @@ -69,8 +69,8 @@ explicitely allowed by the standard object space, and develop heuristics to switch between implementations during execution. -b) identify which optimizations would benefit from support from the - translator (2). These are the optimizations not easily available to +b) identify which optimisations would benefit from support from the + translator (2). These are the optimisations not easily available to !CPython because they would require large-scale code rewrites. c) for each issue, work on several solutions when no one is obviously @@ -148,7 +148,7 @@ high-performance Python interpreter. For each of these, focus will be given to: -a) develop the translation process, run-time and those optimizations +a) develop the translation process, run-time and those optimisations that depend on low-level details. b) design interfaces for extension modules. Some can be very general From hpk at codespeak.net Tue Apr 6 12:31:31 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 12:31:31 +0200 (MEST) Subject: [pypy-svn] r3813 - pypy/trunk/doc/funding Message-ID: <20040406103131.3FC445A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 12:31:30 2004 New Revision: 3813 Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Log: some minor grammar/typo fixing Modified: pypy/trunk/doc/funding/B6.0_detailed_implementation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.0_detailed_implementation.txt (original) +++ pypy/trunk/doc/funding/B6.0_detailed_implementation.txt Tue Apr 6 12:31:30 2004 @@ -355,7 +355,7 @@ into the interpreter itself. These include transparent interfaces to remote objects (like CORBA, Java RMI...), transparent distribution of objects, and transparent distribution of processes themselves. For example, a foreseen -solution for the CORBA model would be to design a proxying Object Space that +solution for the CORBA model would be to design a Proxy Object Space that delegates operations to a remote CORBA object server over the network, thus hiding the complexities of the underlying protocols. We will also study approaches enabling transparent distributed execution, i.e. in which the @@ -461,7 +461,7 @@ Documentation and Dissemination ------------------------------- -The documentational aspect of the dissemination goal is handled by one of the +The documentation aspect of the dissemination goal is handled by one of the few workpackages that run for the whole duration of the project. Each sprint, as well as the regular progress of non-sprint development, will @@ -496,7 +496,7 @@ fundamental concepts, as appropriate to the audience and the subject matter. To ensure stakeholder participation and feedback that goes beyond the -python community, wp14_ also consists of arranging workshops ( 6 in total) +python community, WP14_ also consists of arranging workshops ( 6 in total) to disseminate the ongoing process- and development progress.The majority of the workshops are going to target important stakeholder groups and will primarily focus on disseminating PyPy results from an implementation @@ -566,8 +566,8 @@ granted that the risks associated with the following decisions are almost non-existent at this point: -- writing a Python interpreter in Python is not only possible -- it is, in - proven fact, markedly faster and easier than in C. +- writing a Python interpreter in Python is not only possible -- it is + markedly faster and easier to do than in a low level language like C. - following some of the basic design decisions of CPython (the internals of whom most of us are intimately familiar with) leads to fast development and From hpk at codespeak.net Tue Apr 6 12:36:35 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 12:36:35 +0200 (MEST) Subject: [pypy-svn] r3814 - pypy/trunk/doc/funding Message-ID: <20040406103635.479755A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 12:36:34 2004 New Revision: 3814 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: fixed a couple of typos Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Tue Apr 6 12:36:34 2004 @@ -10,7 +10,7 @@ Even the implementations of Open Source dynamic languages have non-flexible designs crafted by a small group of developers. (This has always been a 'given'. The language designer, or designers, -make certain tradeoffs in their language implementation, and the +make certain trade-offs in their language implementation, and the language users are stuck with what was decided, even if it does not suit their particular needs.) @@ -64,7 +64,7 @@ * choice of memory and threading model * choice of speed vs. memory trade-offs -* plugable adaptive implementations of various HL types, e.g. dictionaries +* pluggable adaptive implementations of various VHLL types, e.g. dictionaries * distributed/parallel execution (SMP or Networked) * orthogonal persistence * pervasive security support @@ -192,7 +192,7 @@ variable*, which allows the matching of data through unification or constraint processing, and non-deterministic control structures. Work initiated at the DFKI has examined ways to combine these constructs with -those from other languages[Sch02]_. A key concept here is *encapulated +those from other languages[Sch02]_. A key concept here is *encapsulated search*, which hives off these features from the more mainstream programming constructs. @@ -201,7 +201,7 @@ constraint programming in Python [Log]_, and one of most popular text books in Artificial Intelligence has Python code for the examples [RN02]_. Moreover, the main inventor of the world wide web developed the -first inference engine for the sematic web in Python [Cwm]_. However, none of +first inference engine for the semantic web in Python [Cwm]_. However, none of these projects has realised code that can be used in production environments. It is simply too slow. @@ -312,7 +312,7 @@ +++++++++++++++++++ Within PyPy, we will be the first to provide usable constraint programming -techniques within a popular VHLL. We will take advatntage of the +techniques within a popular VHLL. We will take advantage of the light-weight multithreading that we will introduce to Python to handle the constraint processing efficiently and we will examine the use of object spaces to develop implementations of Python that are specialised for search @@ -339,8 +339,8 @@ We believe that ours is a practical and scalable approach to interpreter modularity, applicable to any language, from general to domain-specific ones. The PyPy implementation should quickly reach the large user base of the -current, industrial-strength Python, and could eventually form the fundation -of the "next generation" Python implemention commonly refered to as +current, industrial-strength Python, and could eventually form the foundation +of the "next generation" Python implementation commonly referred to as Python3000. The efforts will be focused on actively reaching out non-Python communities, based on: @@ -364,7 +364,7 @@ .. [AFGHS00] Matthew Arnold, Stephen J. Fink, David Grove, Michael Hind, and Peter F. Sweeney, - "Adaptive Optimization in the Jalapeno JVM", In Conference on Object-Oriented Prorgramming and Systems, pp. 47-65, 2000. + "Adaptive Optimization in the Jalapeno JVM", In Conference on Object-Oriented Programming and Systems, pp. 47-65, 2000. http://citeseer.nj.nec.com/arnold00adaptive.html From alastair at codespeak.net Tue Apr 6 12:45:53 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Tue, 6 Apr 2004 12:45:53 +0200 (MEST) Subject: [pypy-svn] r3815 - pypy/trunk/doc/funding/makedoc Message-ID: <20040406104553.843705A155@thoth.codespeak.net> Author: alastair Date: Tue Apr 6 12:45:52 2004 New Revision: 3815 Modified: pypy/trunk/doc/funding/makedoc/dow.pdf Log: Latest DoW Modified: pypy/trunk/doc/funding/makedoc/dow.pdf ============================================================================== Binary files. No diff available. From hpk at codespeak.net Tue Apr 6 12:54:12 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 12:54:12 +0200 (MEST) Subject: [pypy-svn] r3816 - pypy/trunk/doc/funding Message-ID: <20040406105412.F15F85A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 12:54:12 2004 New Revision: 3816 Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Log: inserted reference to collaboration with community Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Tue Apr 6 12:54:12 2004 @@ -24,14 +24,16 @@ 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. From arigo at codespeak.net Tue Apr 6 13:10:57 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Tue, 6 Apr 2004 13:10:57 +0200 (MEST) Subject: [pypy-svn] r3817 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406111057.239F85A155@thoth.codespeak.net> Author: arigo Date: Tue Apr 6 13:10:55 2004 New Revision: 3817 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: I think this number needs to be here too. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Tue Apr 6 13:10:55 2004 @@ -2117,7 +2117,7 @@ 19 24 101475 - + 101475 From hpk at codespeak.net Tue Apr 6 13:54:55 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 13:54:55 +0200 (MEST) Subject: [pypy-svn] r3819 - pypy/trunk/doc/funding Message-ID: <20040406115455.E5CC05A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 13:54:55 2004 New Revision: 3819 Added: pypy/trunk/doc/funding/changelog-wp.txt Log: added a first draft of a very dense work package changelog Added: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- (empty file) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 13:54:55 2004 @@ -0,0 +1,15 @@ +WP01: -50% budget, added 3 deliverables tracing B4 and B5, more detailed task descriptions +WP02: -33% budget, added 1 testing deliverable, tracing B6 and clarifying tasks, collaborate stronger with communities +WP03: -33% budget, added 1 report deliverable, better dissemination, more detailed and selected tasks +WP04: -33% budget, added 1 report deliverable, tracing B6/B1, rearranged resource allocation (PBF), select/specify language compliancy and focus on providing a "Research tool",, added more details and dissemination deliverables, more dissemination also to non-python communities +WP05: -33% budget, added 2 publication deliverables, tracing B1/B6, rearranged resource allocation (PBF), much more detailed tasks, more dissemination also to non-python communities +WP06: -50% budget, added 1 integration deliverable tracing B1/B6, rearranged resource allocation (MPI), much more detailed tasks, more dissemination also to non-python communities, more research/less implementation, focus on "measurably" better performance +WP07: -28% budget, added 2 report deliverables, tracing B1/B6, rearranged resource allocation (PBF), specify "real-time" with "soft-realtime", more dissemination also to non-python communities, focus on massive parallelism +WP08: -30% budget, added 4 release and publication deliverables, tracing B1/B6, rearranged resource allocation (PBF), more detailed tasks, more dissemination also to non-python communities, emphasize measurable half-speed of C for algorithmic code, +WP09: -0% budget, added 1 assessment deliverable, tracing B1/B6, more detailed task description +WP10: -0% budget, separated 2 into 3 deliverales, tracing B1/B6, more detailed task description +WP11: -40% budget, tracing B1/B6, more detailed task description, specified to focus on Axis hardware study and feedback +WP12: -46% budget, added 1 publication deliverable, tracing B1/B6, more detailed tasks descriptions, focus on research and experimental support, specify security (object control), distribution (proxying) and persistence by reusing existing libraries, report also to non-python communities +WP13: -33% budget, added 1 publication deliverable, tracing B1/B6, more detailed task description, more dissemination +WP14: -0% budget, added 4 dissemination/workshop deliverables, tracing B1/B6/B5, much more detailed task description, added 6 workshops with industry, communities and conferences, emphasize agile methodologies + From hpk at codespeak.net Tue Apr 6 13:57:10 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 13:57:10 +0200 (MEST) Subject: [pypy-svn] r3820 - pypy/trunk/doc/funding Message-ID: <20040406115710.A6BEE5A155@thoth.codespeak.net> 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 From hpk at codespeak.net Tue Apr 6 14:01:15 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 14:01:15 +0200 (MEST) Subject: [pypy-svn] r3821 - pypy/trunk/doc/funding Message-ID: <20040406120115.2C3725A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 14:01:14 2004 New Revision: 3821 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: nicer layout of the changelog-wp Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 14:01:14 2004 @@ -1,15 +1,58 @@ -WP01: -50% budget, added 3 deliverables tracing B4 and B5, more detailed task descriptions -WP02: -33% budget, added 1 testing deliverable, tracing B6 and clarifying tasks, collaborate stronger with communities -WP03: -33% budget, added 1 report deliverable, better dissemination, more detailed and selected tasks -WP04: -33% budget, added 1 report deliverable, tracing B6/B1, rearranged resource allocation (PBF), select/specify language compliancy and focus on providing a "Research tool",, added more details and dissemination deliverables, more dissemination also to non-python communities -WP05: -33% budget, added 2 publication deliverables, tracing B1/B6, rearranged resource allocation (PBF), much more detailed tasks, more dissemination also to non-python communities -WP06: -50% budget, added 1 integration deliverable tracing B1/B6, rearranged resource allocation (MPI), much more detailed tasks, more dissemination also to non-python communities, more research/less implementation, focus on "measurably" better performance -WP07: -28% budget, added 2 report deliverables, tracing B1/B6, rearranged resource allocation (PBF), specify "real-time" with "soft-realtime", more dissemination also to non-python communities, focus on massive parallelism -WP08: -30% budget, added 4 release and publication deliverables, tracing B1/B6, rearranged resource allocation (PBF), more detailed tasks, more dissemination also to non-python communities, emphasize measurable half-speed of C for algorithmic code, -WP09: -0% budget, added 1 assessment deliverable, tracing B1/B6, more detailed task description -WP10: -0% budget, separated 2 into 3 deliverales, tracing B1/B6, more detailed task description -WP11: -40% budget, tracing B1/B6, more detailed task description, specified to focus on Axis hardware study and feedback -WP12: -46% budget, added 1 publication deliverable, tracing B1/B6, more detailed tasks descriptions, focus on research and experimental support, specify security (object control), distribution (proxying) and persistence by reusing existing libraries, report also to non-python communities -WP13: -33% budget, added 1 publication deliverable, tracing B1/B6, more detailed task description, more dissemination -WP14: -0% budget, added 4 dissemination/workshop deliverables, tracing B1/B6/B5, much more detailed task description, added 6 workshops with industry, communities and conferences, emphasize agile methodologies +WP01 -50% budget, added 3 deliverables: + tracing B4 and B5, more detailed task descriptions + +WP02 -33% budget, added 1 testing deliverable: + tracing B6 and clarifying tasks, collaborate stronger with communities + +WP03 -33% budget, added 1 report deliverable: + better dissemination, more detailed and selected tasks + +WP04 -33% budget, added 1 report deliverable: + tracing B6/B1, rearranged resource allocation (PBF), select/specify + language compliancy and focus on providing a "Research tool",, added + more details and dissemination deliverables, more dissemination also + to non-python communities + +WP05 -33% budget, added 2 publication deliverables: + tracing B1/B6, rearranged resource allocation (PBF), much more + detailed tasks, more dissemination also to non-python communities + +WP06 -50% budget, added 1 integration deliverable: + tracing B1/B6, rearranged resource allocation (MPI), much more + detailed tasks, more dissemination also to non-python communities, + more research/less implementation, focus on "measurably" better + performance + +WP07 -28% budget, added 2 report deliverables: + tracing B1/B6, rearranged resource allocation (PBF), specify + "real-time" with "soft-realtime", more dissemination also to + non-python communities, focus on massive parallelism + +WP08 -30% budget, added 4 release and publication deliverables: + tracing B1/B6, rearranged resource allocation (PBF), more detailed + tasks, more dissemination also to non-python communities, emphasize + measurable half-speed of C for algorithmic code, + +WP09 -0% budget, added 1 assessment deliverable: + tracing B1/B6, more detailed task description + +WP10 -0% budget, separated 2 into 3 deliverales: + tracing B1/B6, more detailed task description + +WP11 -40% budget: + tracing B1/B6, more detailed task description, specified to focus on Axis hardware study and feedback + +WP12 -46% budget, added 1 publication deliverable: + tracing B1/B6, more detailed tasks descriptions, focus on research + and experimental support, specify security (object control), + distribution (proxying) and persistence by reusing existing + libraries, report also to non-python communities + +WP13 -33% budget, added 1 publication deliverable: + tracing B1/B6, more detailed task description, more dissemination + +WP14 -0% budget, added 4 dissemination/workshop deliverables: + tracing B1/B6/B5, much more detailed task description, added 6 + workshops with industry, communities and conferences, emphasize + agile methodologies From hpk at codespeak.net Tue Apr 6 14:06:54 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 14:06:54 +0200 (MEST) Subject: [pypy-svn] r3822 - pypy/trunk/doc/funding Message-ID: <20040406120654.61F635A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 14:06:53 2004 New Revision: 3822 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: another try to fix the damn rest Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 14:06:53 2004 @@ -1,57 +1,57 @@ -WP01 -50% budget, added 3 deliverables: +WP01 -50% budget, added 3 deliverables:: tracing B4 and B5, more detailed task descriptions -WP02 -33% budget, added 1 testing deliverable: +WP02 -33% budget, added 1 testing deliverable:: tracing B6 and clarifying tasks, collaborate stronger with communities -WP03 -33% budget, added 1 report deliverable: +WP03 -33% budget, added 1 report deliverable:: better dissemination, more detailed and selected tasks -WP04 -33% budget, added 1 report deliverable: +WP04 -33% budget, added 1 report deliverable:: tracing B6/B1, rearranged resource allocation (PBF), select/specify language compliancy and focus on providing a "Research tool",, added more details and dissemination deliverables, more dissemination also to non-python communities -WP05 -33% budget, added 2 publication deliverables: +WP05 -33% budget, added 2 publication deliverables:: tracing B1/B6, rearranged resource allocation (PBF), much more detailed tasks, more dissemination also to non-python communities -WP06 -50% budget, added 1 integration deliverable: +WP06 -50% budget, added 1 integration deliverable:: tracing B1/B6, rearranged resource allocation (MPI), much more detailed tasks, more dissemination also to non-python communities, more research/less implementation, focus on "measurably" better performance -WP07 -28% budget, added 2 report deliverables: +WP07 -28% budget, added 2 report deliverables:: tracing B1/B6, rearranged resource allocation (PBF), specify "real-time" with "soft-realtime", more dissemination also to non-python communities, focus on massive parallelism -WP08 -30% budget, added 4 release and publication deliverables: +WP08 -30% budget, added 4 release and publication deliverables:: tracing B1/B6, rearranged resource allocation (PBF), more detailed tasks, more dissemination also to non-python communities, emphasize measurable half-speed of C for algorithmic code, -WP09 -0% budget, added 1 assessment deliverable: +WP09 -0% budget, added 1 assessment deliverable:: tracing B1/B6, more detailed task description -WP10 -0% budget, separated 2 into 3 deliverales: +WP10 -0% budget, separated 2 into 3 deliverales:: tracing B1/B6, more detailed task description -WP11 -40% budget: +WP11 -40% budget:: tracing B1/B6, more detailed task description, specified to focus on Axis hardware study and feedback -WP12 -46% budget, added 1 publication deliverable: +WP12 -46% budget, added 1 publication deliverable:: tracing B1/B6, more detailed tasks descriptions, focus on research and experimental support, specify security (object control), distribution (proxying) and persistence by reusing existing libraries, report also to non-python communities -WP13 -33% budget, added 1 publication deliverable: +WP13 -33% budget, added 1 publication deliverable:: tracing B1/B6, more detailed task description, more dissemination -WP14 -0% budget, added 4 dissemination/workshop deliverables: +WP14 -0% budget, added 4 dissemination/workshop deliverables:: tracing B1/B6/B5, much more detailed task description, added 6 workshops with industry, communities and conferences, emphasize agile methodologies From hpk at codespeak.net Tue Apr 6 14:08:14 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 14:08:14 +0200 (MEST) Subject: [pypy-svn] r3823 - pypy/trunk/doc/funding Message-ID: <20040406120814.E42D85A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 14:08:14 2004 New Revision: 3823 Added: pypy/trunk/doc/funding/changelog-fulldiff-wp.asc - copied unchanged from r3820, pypy/trunk/doc/funding/changelog-fulldiff-wp.txt Removed: pypy/trunk/doc/funding/changelog-fulldiff-wp.txt Log: renaming the fulldiff to not get ResT appied to it Deleted: /pypy/trunk/doc/funding/changelog-fulldiff-wp.txt ============================================================================== --- /pypy/trunk/doc/funding/changelog-fulldiff-wp.txt Tue Apr 6 14:08:14 2004 +++ (empty file) @@ -1,1237 +0,0 @@ -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 From hpk at codespeak.net Tue Apr 6 14:24:20 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 14:24:20 +0200 (MEST) Subject: [pypy-svn] r3824 - pypy/trunk/doc/funding Message-ID: <20040406122420.6039C5A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 14:24:19 2004 New Revision: 3824 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: more dissemination -> more explicit dissemination fixed "more detailed and selective tasks" Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 14:24:19 2004 @@ -5,32 +5,33 @@ tracing B6 and clarifying tasks, collaborate stronger with communities WP03 -33% budget, added 1 report deliverable:: - better dissemination, more detailed and selected tasks + better dissemination, more detailed tasks, focused on synchronization + possibilities with CPython WP04 -33% budget, added 1 report deliverable:: tracing B6/B1, rearranged resource allocation (PBF), select/specify language compliancy and focus on providing a "Research tool",, added - more details and dissemination deliverables, more dissemination also + more details and dissemination deliverables, more explicit dissemination also to non-python communities WP05 -33% budget, added 2 publication deliverables:: tracing B1/B6, rearranged resource allocation (PBF), much more - detailed tasks, more dissemination also to non-python communities + detailed tasks, more explicit dissemination also to non-python communities WP06 -50% budget, added 1 integration deliverable:: tracing B1/B6, rearranged resource allocation (MPI), much more - detailed tasks, more dissemination also to non-python communities, + detailed tasks, more explicit dissemination also to non-python communities, more research/less implementation, focus on "measurably" better performance WP07 -28% budget, added 2 report deliverables:: tracing B1/B6, rearranged resource allocation (PBF), specify - "real-time" with "soft-realtime", more dissemination also to + "real-time" with "soft-realtime", more explicit dissemination also to non-python communities, focus on massive parallelism WP08 -30% budget, added 4 release and publication deliverables:: tracing B1/B6, rearranged resource allocation (PBF), more detailed - tasks, more dissemination also to non-python communities, emphasize + tasks, more explicit dissemination also to non-python communities, emphasize measurable half-speed of C for algorithmic code, WP09 -0% budget, added 1 assessment deliverable:: @@ -49,7 +50,7 @@ libraries, report also to non-python communities WP13 -33% budget, added 1 publication deliverable:: - tracing B1/B6, more detailed task description, more dissemination + tracing B1/B6, more detailed task description, more explicit dissemination WP14 -0% budget, added 4 dissemination/workshop deliverables:: tracing B1/B6/B5, much more detailed task description, added 6 From hpk at codespeak.net Tue Apr 6 14:40:01 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 14:40:01 +0200 (MEST) Subject: [pypy-svn] r3825 - pypy/trunk/doc/funding Message-ID: <20040406124001.5553B5A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 14:40:00 2004 New Revision: 3825 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: "detailed task description" -> "detailed description of existing tasks" Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 14:40:00 2004 @@ -1,18 +1,17 @@ WP01 -50% budget, added 3 deliverables:: - tracing B4 and B5, more detailed task descriptions + tracing B4 and B5, more detailed descriptions of existing tasks WP02 -33% budget, added 1 testing deliverable:: tracing B6 and clarifying tasks, collaborate stronger with communities WP03 -33% budget, added 1 report deliverable:: - better dissemination, more detailed tasks, focused on synchronization - possibilities with CPython + better dissemination, more detailed descriptions of existing tasks, focused on + synchronization possibilities with CPython WP04 -33% budget, added 1 report deliverable:: tracing B6/B1, rearranged resource allocation (PBF), select/specify - language compliancy and focus on providing a "Research tool",, added - more details and dissemination deliverables, more explicit dissemination also - to non-python communities + language compliancy and focus on providing a "Research tool", more + explicit dissemination also to non-python communities WP05 -33% budget, added 2 publication deliverables:: tracing B1/B6, rearranged resource allocation (PBF), much more @@ -35,16 +34,17 @@ measurable half-speed of C for algorithmic code, WP09 -0% budget, added 1 assessment deliverable:: - tracing B1/B6, more detailed task description + tracing B1/B6, more detailed description of tasks WP10 -0% budget, separated 2 into 3 deliverales:: - tracing B1/B6, more detailed task description + tracing B1/B6, more detailed description of tasks WP11 -40% budget:: - tracing B1/B6, more detailed task description, specified to focus on Axis hardware study and feedback + tracing B1/B6, more detailed description of existing tasks, specified to focus on + Axis hardware study and feedback WP12 -46% budget, added 1 publication deliverable:: - tracing B1/B6, more detailed tasks descriptions, focus on research + tracing B1/B6, more detailed description of existing tasks, focus on research and experimental support, specify security (object control), distribution (proxying) and persistence by reusing existing libraries, report also to non-python communities @@ -53,7 +53,7 @@ tracing B1/B6, more detailed task description, more explicit dissemination WP14 -0% budget, added 4 dissemination/workshop deliverables:: - tracing B1/B6/B5, much more detailed task description, added 6 + tracing B1/B6/B5, more detailed description of tasks, added 6 workshops with industry, communities and conferences, emphasize agile methodologies From lac at codespeak.net Tue Apr 6 15:14:47 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 15:14:47 +0200 (MEST) Subject: [pypy-svn] r3826 - pypy/trunk/doc/funding Message-ID: <20040406131447.3D3045A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 15:14:46 2004 New Revision: 3826 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: See if you like the introductory paragraphs. More wording needs to be changed, but is this thecorrect flavour? Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 15:14:46 2004 @@ -1,11 +1,36 @@ +We have made the following modifications to our work packages to comply +with the requests made at the negotiation meeting of ? +Most notable is an increase in the number of dissemination deliverables. +By more fully documenting our dissemination process in the +form of produced deliverables, we trust we have satisfied the request +that we align our work packages with the promises made in our proposal. +These dissemination deliverables were already implicit in our tasks, but +now have been made explicit. This has the added advantage of making it +easier to objectively measure our progress. + +We have also added reports for language users who are outside of the +existing Python community. + +However, the reduction of budget has meant that the consortium has +been exposed to an increased risk of failure. Should our efforts to +mobilise the Python and Open Source communities fail, we will have +to rack up a lot of unpaid overtime in order to complete our tasks. +This is true even though, in response to requests, we have changed our +emphasis from producing an extremely robust implementation of PyPy +which is immediately suitable for industrial use, to producing a +functional but less thoroughly tested version, and communicating our +research to the academic, government, and industrial users who are +our primary stakeholders. + + WP01 -50% budget, added 3 deliverables:: - tracing B4 and B5, more detailed descriptions of existing tasks + tracing B4 and B5, more detailed descriptions of pre-existing tasks WP02 -33% budget, added 1 testing deliverable:: tracing B6 and clarifying tasks, collaborate stronger with communities WP03 -33% budget, added 1 report deliverable:: - better dissemination, more detailed descriptions of existing tasks, focused on + more dissemination, more detailed descriptions of pre-existing tasks, focused on synchronization possibilities with CPython WP04 -33% budget, added 1 report deliverable:: @@ -41,19 +66,22 @@ WP11 -40% budget:: tracing B1/B6, more detailed description of existing tasks, specified to focus on - Axis hardware study and feedback + Axis hardware study and feedback, more reliance on outside contribution by + non-members of the consortium. WP12 -46% budget, added 1 publication deliverable:: tracing B1/B6, more detailed description of existing tasks, focus on research and experimental support, specify security (object control), distribution (proxying) and persistence by reusing existing - libraries, report also to non-python communities + libraries, report also to non-python communities, more reliance + on outside contribution by non-members of the consortium. WP13 -33% budget, added 1 publication deliverable:: tracing B1/B6, more detailed task description, more explicit dissemination WP14 -0% budget, added 4 dissemination/workshop deliverables:: - tracing B1/B6/B5, more detailed description of tasks, added 6 + tracing B1/B6/B5, rearranged resource allocation (PBF), + more detailed description of tasks, added 6 workshops with industry, communities and conferences, emphasize agile methodologies From pedronis at codespeak.net Tue Apr 6 15:21:33 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 15:21:33 +0200 (MEST) Subject: [pypy-svn] r3829 - pypy/trunk/doc/funding Message-ID: <20040406132133.488D95A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 15:21:32 2004 New Revision: 3829 Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Log: removed added work in face of reduced resources it's a deliverable we are not commiting ourself on, and that we were not commiting on Armin ok? Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Tue Apr 6 15:21:32 2004 @@ -59,9 +59,6 @@ - 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. @@ -78,11 +75,10 @@ - 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 +- D08.3 Release A Just-In-Time compiler for PyPy +- D08.4 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 +- D08.5 Publish a research report comparing JIT techniques .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From pedronis at codespeak.net Tue Apr 6 15:22:02 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 15:22:02 +0200 (MEST) Subject: [pypy-svn] r3830 - pypy/trunk/doc/funding Message-ID: <20040406132202.9A24F5A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 15:22:01 2004 New Revision: 3830 Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt Log: reflect changes to WP8 Modified: pypy/trunk/doc/funding/B6.6_deliverables_list.txt ============================================================================== --- pypy/trunk/doc/funding/B6.6_deliverables_list.txt (original) +++ pypy/trunk/doc/funding/B6.6_deliverables_list.txt Tue Apr 6 15:22:01 2004 @@ -76,13 +76,11 @@ ----- ----------------------------------------------------- ----- ---- ---- D08.2 A processor back-end supporting PowerPC 18 P PU ----- ----------------------------------------------------- ----- ---- ---- -D08.3 A portable low-level VM with a back-end 18 P PU +D08.3 A Just-In-Time compiler for PyPy 18 P PU ----- ----------------------------------------------------- ----- ---- ---- -D08.4 A Just-In-Time compiler for PyPy 18 P PU +D08.4 Publish a report about the new JIT architecture 19 R PU ----- ----------------------------------------------------- ----- ---- ---- -D08.5 Publish a report about the new JIT architecture 19 R PU ------ ----------------------------------------------------- ----- ---- ---- -D08.6 Publish a research report comparing JIT techniques 19 R PU +D08.5 Publish a research report comparing JIT techniques 19 R PU ----- ----------------------------------------------------- ----- ---- ---- D09.1 Initial constraint satisfaction and inference engine 18 P PU ----- ----------------------------------------------------- ----- ---- ---- From alastair at codespeak.net Tue Apr 6 15:26:05 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Tue, 6 Apr 2004 15:26:05 +0200 (MEST) Subject: [pypy-svn] r3831 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406132605.B4C6C5A155@thoth.codespeak.net> Author: alastair Date: Tue Apr 6 15:26:04 2004 New Revision: 3831 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Fixed DFKI's figures Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Tue Apr 6 15:26:04 2004 @@ -13,6 +13,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -84,6 +85,7 @@ + ]]> @@ -130,6 +132,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -305,6 +308,7 @@ + ]]> @@ -426,7 +430,7 @@ 1000 100 - 0 + 0 0 0 @@ -740,6 +744,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -926,6 +931,7 @@ + ]]> @@ -1415,6 +1421,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=127 color="536870912" ) @@ -1526,6 +1533,7 @@ + ]]> @@ -1664,6 +1672,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=275 color="536870912" ) @@ -1803,6 +1812,7 @@ + ]]> @@ -1813,11 +1823,11 @@ 1 DFKI FC - 260500 + 144838 130250 - 39200 + 21795 39200 115662 @@ -2022,6 +2032,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 1 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=242 color="536870912" ) @@ -2076,6 +2087,7 @@ + ]]> @@ -2117,7 +2129,7 @@ 19 24 101475 - 101475 + @@ -2176,6 +2188,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 2 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=123 color="536870912" ) @@ -2361,6 +2374,7 @@ + ]]> @@ -2434,6 +2448,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2514,6 +2529,7 @@ + ]]> @@ -2670,6 +2686,7 @@ + release 7; datawindow(units=1 timer_interval=0 color=16777215 processing=0 HTMLDW=no print.documentname="" print.orientation = 0 print.margin.left = 24 print.margin.right = 24 print.margin.top = 24 print.margin.bottom = 24 print.paper.source = 0 print.paper.size = 0 print.prompt=no print.buttons=no print.preview.buttons=no ) header(height=124 color="536870912" ) @@ -2971,6 +2988,7 @@ + ]]> From pedronis at codespeak.net Tue Apr 6 15:50:33 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 15:50:33 +0200 (MEST) Subject: [pypy-svn] r3833 - pypy/trunk/doc/funding Message-ID: <20040406135033.D42F75A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 15:50:32 2004 New Revision: 3833 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: match wp8 evolution Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 15:50:32 2004 @@ -53,7 +53,7 @@ "real-time" with "soft-realtime", more explicit dissemination also to non-python communities, focus on massive parallelism -WP08 -30% budget, added 4 release and publication deliverables:: +WP08 -30% budget, split first deliverables into two, added 2 publication deliverables:: tracing B1/B6, rearranged resource allocation (PBF), more detailed tasks, more explicit dissemination also to non-python communities, emphasize measurable half-speed of C for algorithmic code, From hpk at codespeak.net Tue Apr 6 16:19:36 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 16:19:36 +0200 (MEST) Subject: [pypy-svn] r3835 - pypy/trunk/doc/funding Message-ID: <20040406141936.AA0215A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 16:19:35 2004 New Revision: 3835 Modified: pypy/trunk/doc/funding/B6.7.wp03_synchronisation.txt pypy/trunk/doc/funding/B6.7.wp04_core.txt pypy/trunk/doc/funding/B6.7.wp05_translation.txt pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt pypy/trunk/doc/funding/B6.7.wp12_validations.txt pypy/trunk/doc/funding/changelog-wp.txt Log: we now explicitely rely stronger than before now on collaboration and contribution from existing open source projects, specific communities and developers. The responses should be modified to reflect this change and the "collaborate stronger, expect contributions and thus take higher risks if the contribution don't happen as expected" This adds a strong argument why we think we survive the budget cuts without reducing too much in scope. Modified: pypy/trunk/doc/funding/B6.7.wp03_synchronisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp03_synchronisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp03_synchronisation.txt Tue Apr 6 16:19:35 2004 @@ -24,8 +24,8 @@ Keeping PyPy in sync with potential changes to Standard Python. Support a subset of the CPython API for compatibility with -extension modules. -Facilitate porting of extension modules to PyPy. +extension modules. Facilitate porting of extension modules to PyPy. +Collaborate strongly with CPython developer communities. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc @@ -36,7 +36,7 @@ Monitor the development of Standard Python for its ongoing changes. Check the relevance of the changes concerning the structure of -PyPy. +PyPy. Collaborate with CPython developer communities. Embed the relevant changes with proper testing, notifying the other concurrent tasks of these changes. Investigate tools which could partially automate @@ -45,7 +45,7 @@ **Task 2** Investigate different solutions to address compatibility with -existing C extensions. +existing C extensions. Collaborate with CPython developer communities. Support a subset of the CPython API. Facilitate porting of more involved extensions. Investigate adjusting existing interface generators (in particular SWIG, used e.g Modified: pypy/trunk/doc/funding/B6.7.wp04_core.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp04_core.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp04_core.txt Tue Apr 6 16:19:35 2004 @@ -25,6 +25,7 @@ Building a complete Python interpreter written in Python, using a subset of Python that avoids dynamic features which would impair the objectives of WP05_ (RPython). +Collaborate with CPython core developers. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc @@ -50,7 +51,8 @@ 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. +on top of which our interpreter runs. Collaborate strongly +with CPython core developers via the python-dev mailing list. **Task 2** @@ -73,10 +75,12 @@ **Task 3** Complete the interpreter with a Python source parser and bytecode -compiler. +compiler. Collaborate with various core developers involved +with new parsing and compiling techniques. - Implement a Python parser and bytecode compiler in Python by - leveraging existing research and implementation work. + leveraging existing research and implementation work. Reuse + code and ideas from ongoing open source projects. - Design a flexible way to insert the compiler into the code base, easing future experimentation with the syntax. Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp05_translation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp05_translation.txt Tue Apr 6 16:19:35 2004 @@ -25,7 +25,7 @@ Analysis and translation of the PyPy core (WP04_) into efficient low-level code (C, Pyrex, Java, others). Providing a Runtime Library for the translated versions -of PyPy. +of PyPy. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc @@ -57,7 +57,8 @@ 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. + a low-level PyPy interpreter and object space. Collaborate + with LLVM (Low level virtual Machine) core developers. - Provide hooks into internals to alter translation aspects. @@ -71,11 +72,13 @@ 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 +- Implement a minimal C-runtime for the translated PyPy, strongly + collaborate with CPython core developers. - 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. + level code. Improve on existing memory management techniques and open + source projects. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Tue Apr 6 16:19:35 2004 @@ -54,7 +54,8 @@ Make the JIT compiler flexible and portable. - Enable dynamic foreign function calls. Allow language users to - use them in their applications. + use them in their applications. Collaborate strongly with + core developers from the CTypes and SWIG open source projects. - Design and implement a back-end component for dynamically emitting machine code for multiple processor architectures. Modified: pypy/trunk/doc/funding/B6.7.wp12_validations.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp12_validations.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp12_validations.txt Tue Apr 6 16:19:35 2004 @@ -47,8 +47,8 @@ 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. +for an equivalent functionality directly into the language. Collaborate +with existing open source projects. Report on the novel future directions. **Task 3** @@ -57,7 +57,8 @@ 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. +orthogonally. Collaborate with ZODB and PyPersyst developer communitiies. +Report on the novel future directions. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 16:19:35 2004 @@ -31,16 +31,19 @@ WP03 -33% budget, added 1 report deliverable:: more dissemination, more detailed descriptions of pre-existing tasks, focused on - synchronization possibilities with CPython + synchronization possibilities with CPython, collaborate stronger with + developer communities WP04 -33% budget, added 1 report deliverable:: tracing B6/B1, rearranged resource allocation (PBF), select/specify language compliancy and focus on providing a "Research tool", more - explicit dissemination also to non-python communities + explicit dissemination also to non-python communities, collaborate + stronger with developer communities WP05 -33% budget, added 2 publication deliverables:: tracing B1/B6, rearranged resource allocation (PBF), much more - detailed tasks, more explicit dissemination also to non-python communities + detailed tasks, more explicit dissemination also to non-python communities, + collaborate with other open source projects where appropriate WP06 -50% budget, added 1 integration deliverable:: tracing B1/B6, rearranged resource allocation (MPI), much more @@ -56,7 +59,8 @@ WP08 -30% budget, split first deliverables into two, added 2 publication deliverables:: tracing B1/B6, rearranged resource allocation (PBF), more detailed tasks, more explicit dissemination also to non-python communities, emphasize - measurable half-speed of C for algorithmic code, + measurable half-speed of C for algorithmic code, collaborate + with specific open source projects WP09 -0% budget, added 1 assessment deliverable:: tracing B1/B6, more detailed description of tasks From arigo at codespeak.net Tue Apr 6 16:28:52 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Tue, 6 Apr 2004 16:28:52 +0200 (MEST) Subject: [pypy-svn] r3837 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406142852.3DBF95A155@thoth.codespeak.net> Author: arigo Date: Tue Apr 6 16:28:51 2004 New Revision: 3837 Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Log: Bumped CM up of 1830 euros to avoid reducing their direct costs, as asked by Laura. Reduced the PBF accordingly. Modified: pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf ============================================================================== --- pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf (original) +++ pypy/trunk/doc/funding/negotiations/IST-2-004779-STP.cpf Tue Apr 6 16:28:51 2004 @@ -1865,8 +1865,8 @@ 4 PBF AC - 94060 - 94060 + 92230 + 92230 @@ -1928,12 +1928,12 @@ 7 CM FC - 88240 - 45200 + 90400 + 46280 - 20450 - 21200 + 21200 + 21950 2160 From pedronis at codespeak.net Tue Apr 6 16:32:00 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 16:32:00 +0200 (MEST) Subject: [pypy-svn] r3838 - pypy/trunk/doc/funding Message-ID: <20040406143200.DF1185A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 16:32:00 2004 New Revision: 3838 Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt Log: clarify mem mgmt open source interaction Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp05_translation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp05_translation.txt Tue Apr 6 16:32:00 2004 @@ -77,8 +77,8 @@ - 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. Improve on existing memory management techniques and open - source projects. + level code. For memory management improve and build on top of solutions from other open + source language projects. .. include:: wp-tableend.asc .. include:: wp-tablebegin.asc From pedronis at codespeak.net Tue Apr 6 16:42:43 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 16:42:43 +0200 (MEST) Subject: [pypy-svn] r3839 - pypy/trunk/doc/funding Message-ID: <20040406144243.5796D5A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 16:42:42 2004 New Revision: 3839 Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt Log: clarify LLVM is a candidate Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp05_translation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp05_translation.txt Tue Apr 6 16:42:42 2004 @@ -57,8 +57,8 @@ 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. Collaborate - with LLVM (Low level virtual Machine) core developers. + a low-level PyPy interpreter and object space. The LLVM (Low level virtual Machine) + may be a candidate for collaboration in this context. - Provide hooks into internals to alter translation aspects. @@ -73,7 +73,7 @@ are to be implemented in a modular way. - Implement a minimal C-runtime for the translated PyPy, strongly - collaborate with CPython core developers. + collaborate for with CPython core developers. - Integrate Memory Management, threadings models, and other aspects in a modular way into both the C-runtime and the statically generated PyPy low From pedronis at codespeak.net Tue Apr 6 16:43:20 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 16:43:20 +0200 (MEST) Subject: [pypy-svn] r3840 - pypy/trunk/doc/funding Message-ID: <20040406144320.5A5CA5A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 16:43:19 2004 New Revision: 3840 Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt Log: forgot "project" Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp05_translation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp05_translation.txt Tue Apr 6 16:43:19 2004 @@ -58,7 +58,7 @@ - Create a build process for statically generating and running a low-level PyPy interpreter and object space. The LLVM (Low level virtual Machine) - may be a candidate for collaboration in this context. + project may be a candidate for collaboration in this context. - Provide hooks into internals to alter translation aspects. From pedronis at codespeak.net Tue Apr 6 16:50:38 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 16:50:38 +0200 (MEST) Subject: [pypy-svn] r3841 - pypy/trunk/doc/funding Message-ID: <20040406145038.CE9885A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 16:50:38 2004 New Revision: 3841 Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Log: ctypes Modified: pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp08_dynamic_optimisation.txt Tue Apr 6 16:50:38 2004 @@ -55,7 +55,7 @@ - Enable dynamic foreign function calls. Allow language users to use them in their applications. Collaborate strongly with - core developers from the CTypes and SWIG open source projects. + core developers from the ctypes and SWIG open source projects. - Design and implement a back-end component for dynamically emitting machine code for multiple processor architectures. From pedronis at codespeak.net Tue Apr 6 16:54:18 2004 From: pedronis at codespeak.net (pedronis at codespeak.net) Date: Tue, 6 Apr 2004 16:54:18 +0200 (MEST) Subject: [pypy-svn] r3842 - pypy/trunk/doc/funding Message-ID: <20040406145418.EF73E5A155@thoth.codespeak.net> Author: pedronis Date: Tue Apr 6 16:54:18 2004 New Revision: 3842 Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt Log: may be -> is -strongly Modified: pypy/trunk/doc/funding/B6.7.wp05_translation.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp05_translation.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp05_translation.txt Tue Apr 6 16:54:18 2004 @@ -58,7 +58,7 @@ - Create a build process for statically generating and running a low-level PyPy interpreter and object space. The LLVM (Low level virtual Machine) - project may be a candidate for collaboration in this context. + project is a candidate for collaboration in this context. - Provide hooks into internals to alter translation aspects. @@ -72,7 +72,7 @@ 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, strongly +- Implement a minimal C-runtime for the translated PyPy, collaborate for with CPython core developers. - Integrate Memory Management, threadings models, and other aspects in a From hpk at codespeak.net Tue Apr 6 17:12:22 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 17:12:22 +0200 (MEST) Subject: [pypy-svn] r3843 - pypy/trunk/doc/funding Message-ID: <20040406151222.82E665A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 17:12:21 2004 New Revision: 3843 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: - reworded the changelog intro to name more explicitely and without fluff ( :-) what we have been doing and which risks we are taking Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 17:12:21 2004 @@ -1,27 +1,20 @@ -We have made the following modifications to our work packages to comply -with the requests made at the negotiation meeting of ? -Most notable is an increase in the number of dissemination deliverables. -By more fully documenting our dissemination process in the -form of produced deliverables, we trust we have satisfied the request -that we align our work packages with the promises made in our proposal. -These dissemination deliverables were already implicit in our tasks, but -now have been made explicit. This has the added advantage of making it -easier to objectively measure our progress. - -We have also added reports for language users who are outside of the -existing Python community. - -However, the reduction of budget has meant that the consortium has -been exposed to an increased risk of failure. Should our efforts to -mobilise the Python and Open Source communities fail, we will have -to rack up a lot of unpaid overtime in order to complete our tasks. -This is true even though, in response to requests, we have changed our -emphasis from producing an extremely robust implementation of PyPy -which is immediately suitable for industrial use, to producing a -functional but less thoroughly tested version, and communicating our -research to the academic, government, and industrial users who are -our primary stakeholders. - +All work packages have been clarified and described in more detail -- +according to the requests of the EU Project Office. Most notable is the +increase in the number of dissemination deliverables. These +dissemination deliverables are mostly making explicit what we already +had in the detailed work plan. This also makes it easier to objectively +measure our progress. + +We also added reports and publications for communities +outside of the existing Python communities. We generally +place more emphasis on communicating our research and efforts +to academic, industrial and open source communities. + +However, the reduction of budget makes us rely more heavily on +contributions from other open source projects and developers. Note that +the consortium partners are explicitely taking the risk of receiving +less contributions than expected and agreed to still commit to produce +all deliverables despite the budget cuts. WP01 -50% budget, added 3 deliverables:: tracing B4 and B5, more detailed descriptions of pre-existing tasks From arigo at codespeak.net Tue Apr 6 17:41:26 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Tue, 6 Apr 2004 17:41:26 +0200 (MEST) Subject: [pypy-svn] r3844 - pypy/trunk/doc/funding Message-ID: <20040406154126.98E055A155@thoth.codespeak.net> Author: arigo Date: Tue Apr 6 17:41:25 2004 New Revision: 3844 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: WP11 say "reduce" explicitely now. (Let's use that damned word just once.) Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 17:41:25 2004 @@ -62,9 +62,7 @@ tracing B1/B6, more detailed description of tasks WP11 -40% budget:: - tracing B1/B6, more detailed description of existing tasks, specified to focus on - Axis hardware study and feedback, more reliance on outside contribution by - non-members of the consortium. + tracing B1/B6, more detailed description of existing tasks and reduced focus to collaboration, study and feedback from Axis hardware. WP12 -46% budget, added 1 publication deliverable:: tracing B1/B6, more detailed description of existing tasks, focus on research From lac at codespeak.net Tue Apr 6 17:44:47 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 17:44:47 +0200 (MEST) Subject: [pypy-svn] r3845 - pypy/trunk/doc/funding Message-ID: <20040406154447.9967E5A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 17:44:46 2004 New Revision: 3845 Modified: pypy/trunk/doc/funding/changelog-wp.txt Log: hope this is acceptable Modified: pypy/trunk/doc/funding/changelog-wp.txt ============================================================================== --- pypy/trunk/doc/funding/changelog-wp.txt (original) +++ pypy/trunk/doc/funding/changelog-wp.txt Tue Apr 6 17:44:46 2004 @@ -11,10 +11,10 @@ to academic, industrial and open source communities. However, the reduction of budget makes us rely more heavily on -contributions from other open source projects and developers. Note that -the consortium partners are explicitely taking the risk of receiving -less contributions than expected and agreed to still commit to produce -all deliverables despite the budget cuts. +contributions from other open source projects and developers. +The consortium partners are explicitly taking the risk of producing +all deliverables despite the budget and subsequent man-month cuts, which +makes such contribution vital. WP01 -50% budget, added 3 deliverables:: tracing B4 and B5, more detailed descriptions of pre-existing tasks From tismer at codespeak.net Tue Apr 6 18:14:59 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Tue, 6 Apr 2004 18:14:59 +0200 (MEST) Subject: [pypy-svn] r3846 - in pypy/trunk/doc/funding: makedoc negotiations Message-ID: <20040406161459.A834C5A155@thoth.codespeak.net> Author: tismer Date: Tue Apr 6 18:14:59 2004 New Revision: 3846 Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf Log: created a somewhat pre-final version of the TA, without fiddling the layout. Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary files. No diff available. From alastair at codespeak.net Tue Apr 6 18:15:15 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Tue, 6 Apr 2004 18:15:15 +0200 (MEST) Subject: [pypy-svn] r3847 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406161515.625D45A155@thoth.codespeak.net> Author: alastair Date: Tue Apr 6 18:15:14 2004 New Revision: 3847 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: Major revision - in accordance with IRC discussiono Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 18:15:14 2004 @@ -18,7 +18,47 @@ Responses to Actions put up in the Meeting notes from 16th of March 2004 ======================================================================== -**Action: the involvement and funding mechanism of PBF should be fully described** +**Action: An explanation on how the envisaged work goes beyond the +state-of-the-art (both in theoretical concepts and solutions and in the +practical implementation should be provided, and how this contributes to +development beyond the Python domain).** + +The project partners realise that they have not fully communicated the +technological advance that the project represents. PyPy is not simply the +application of familiar technology to a new language or the mere +aggregation of existing techniques. All technical partners are well aware +of the state of the art in their own field and consider their work in the +project to be a novel and significant advance in that field. + +The partners have therefore taken the comments of the evaluators and the +project officer very much to heart and tried to make the novel aspects of +the project clearer. The appropriate chapter of B1.0 in the TA has been +extended accordingly. In summary, we have the following theoretically new +approaches and practical solutions: + +- Separation of bytecode interpretation and manipulation of objects, + using a Very-High-Level language to specify semantics + +- "Abstract interpretation" to enable an efficient new way to + close the gap between a VHLL and efficient low-level code, + including advanced JIT-Compilers + +- "Translation aspects" will - among other things - encapsulate + Multi-threading and memory management models. This will enable + flexible, and adaptive implementations, which today + have to be manually coded all over a language implementation, in + a way that is inelegant, inflexible, and error-prone. + +Each one of these novel advances is interesting beyond the scope of Python. +Moreover, the practical implementation leverages an *industrial-strength* +language implementation (Python) thus connecting the STREP to a large +potential user base. It is possible that PyPy will form the foundation of +the "next generation" Python implementation commonly referred to as Python +3000. Once we have reports and specific versions of PyPy we will reach out +to non-python communities (see WP14_). + +**Action: the involvement and funding mechanism of PBF should be fully +described** The project coordinator (Alastair Burt, DFKI) sent a mail on the 29th of March detailing the future role of the PBF within the PyPy research @@ -28,7 +68,7 @@ until further feedback that this is a viable model and have allocated resources and partners in the DoW accordingly. -Summarizing, the PBF is to bring in additional experts on specific +Summarising, the PBF is to bring in additional experts on specific problems arising during the process of the project. This will decrease the risk of failing. @@ -41,43 +81,30 @@ producer and consumer of information. See especially Work Package 14, Documentation and Dissemination. -**Action: in first instance no workpackages should be removed -as savings should be obtained through economizing the work planning.** - -The consortium has revisited each work package description and has -provided a more consistent and more detailed work plan. We -were able to retain all Workpackages but had to be more selective about the -exact deliverables and tasks, most notably in WP11_ and WP12_. -This leads to an economized and tightened work planning. - -However, due to the budget cuts each of the partners in the consortium -now had to accept a much higher risk and responsbility for efficiently -producing all deliverables with the reduced resources. The consortium -relies heavily on interacting early and often with specific communities -and individuals to effectively mobilise our resources. - -**Action: provide fully completed and quality checked CPFs.** - -We have completed and improved the CPFs. The project office's feedback -to our consortium-proposal may still make further changes neccessary. -In the course of completing the CPF we noticed a problem which may -plague others. In Sweden, the correct way to write 'one million, two -hundred thirty-seven, and five tenths is': 1.237,5. This is precisely -the inverse of what is correct in England, or the USA, where it is: 1,237.5 -Note the swapped commas and periods. - -Now when Swedes create a CPF, using the tool, their country settings -configured to produce this X.YYY,Z format. If you share this file with -someone from a different country using a different number format many -numbers get corrupted. This explains why you thought we had estimated -our costs in kilo-euros, when we were certain that we had not. It was -locale and language problem which we hope to have under control now. - -**Action: Also the reduction of the language user involvement already -represents a reduction in work and required budget.** - -We still plan to involve potential PyPy users on various levels. -Immediate beneficiaries of the PyPy STREP are predominantly +**Action: in first instance no work packages should be removed as savings +should be obtained through economizing the work planning. Also the +reduction of the language user involvement already represents a reduction +in work and required budget** + +The consortium has revisited each work package description with this +recommendation in mind. We were able to retain all work packages but had to +be more selective about the exact deliverables and tasks, most notably in +WP11_ and WP12_. The commentary on the changes to the work plan appended +to this document provides more details on the revision. + +Reaching the PyPy goals with reduced resources from the EU will mean that +more effort should be put into engaging other developers outside of the +project. The consortium will thus rely heavily on interacting early and +often with specific communities and individuals to effectively mobilise +resources. + +Although Max Planck is no longer in the project, their involvement was to a +large extent going to be in employing one of the core developers, who will +now appear in the project hired by another partner. Thus connecting with +the potential users of our results remains as important to us as it ever +was. We are still devoting devoting resources to this and plan to involve +potential PyPy users on various levels. Immediate beneficiaries of the PyPy +STREP are predominantly a) language integrators who want to port and leverage their domain specific extensions to PyPy. @@ -85,8 +112,8 @@ b) researchers and educators who want to explore and understand new optimisation and language techniques -In particular the following deliverables will serve involvement -of these language users: +In particular the following deliverables will serve to involve these +language users: - D03.3 will help developers to port existing C-extensions to PyPy - D04.4 will help researchers to do innovative language research @@ -99,7 +126,7 @@ publication. - all D14 deliverables will target diverse potential users of the new Python implementation. The Research Centre of IBM in Zurich is specifically - targetted, while other publications and Workshops will focus on SMEs and + targeted, while other publications and Workshops will focus on SMEs and game developers both inside (D14.6) and outside (D14.7) the existing Python community. @@ -112,52 +139,49 @@ will document our experience in using Sprints as an integral and essential part of our dissemination process. +**Action: provide fully completed and quality checked CPFs.** + +We have completed and improved the CPFs. The project office's feedback +to our consortium-proposal may still make further changes necessary. +In the course of completing the CPF we noticed a problem which may +plague others. In Sweden, the correct way to write 'one million, two +hundred thirty-seven, and five tenths is': 1.237,5. This is precisely +the inverse of what is correct in England, or the USA, where it is: 1,237.5 +Note the swapped commas and periods. + +Now when Swedes create a CPF, using the tool, their country settings +configured to produce this X.YYY,Z format. If you share this file with +someone from a different country using a different number format many +numbers get corrupted. This explains why you thought we had estimated +our costs in kilo-euros, when we were certain that we had not. It was +locale and language problem which we hope to have under control now. + **Action: the body text should be preserved, and a full tracing to -workpackages should be ensured (adding tasks, subtasks, and defined +work packages should be ensured (adding tasks, subtasks, and defined output). If traceability is not clear, there may come a request to add a line stating the body text should be considered.** We have now fully traced the B1 objectives and B6.0 detailed -implementation chapters in Workpackage descriptions and deliverables. +implementation chapters in work package descriptions and deliverables. In particular, task descriptions of all Work Packages are now much more specific and detailed and deliverables have been added according to the body text descriptions. -**Action: An explanation on how the envisaged work goes beyond the -state-of-the-art (both in theoretical concepts and solutions and in the -practical implementation should be provided, and how this contributes to -development beyond the Python domain).** - -The appropriate chapter of B1.0 in the TA has been extended accordingly. -Summarizing we have the following theoretically new approaches and -practical solutions: - -- Separation of Bytecode interpretation and manipulation of objects, - using a Very-High-Level language to specify semantics - -- "Abstract interpretation" to enable an efficient new way to - close the gap between a VHLL and efficient low-level code, - including advanced JIT-Compilers - -- "Translation aspects" will - among other things - encapsulate - Multi-threading and memory mangagement models. This will enable - flexible, and adaptive implentations, which today - have to be manually coded all over a language implementation, in - a way that is inelegant, inflexible, and error-prone. - -Each one of these novelties is interesting beyond the scope of Python. -Moreover, the practical implementation leverages an -*industrial-strength* language implementation (Python) thus connecting -the STREP to a large potential user base. It is possible that PyPy will -form the foundation of the "next generation" Python implementation commonly -refered to as Python 3000. Once we have reports and specific versions -of PyPy we will reach out to non-python communities (see WP14_). +We attach a detailed explanation of the changes in the work plan. **Action: the coordination and management model should be clarified.** -The B5 chapter has been rearranged and revised to clarify the responsibilities -of the coordinator, the project management and technical board. -This chapter now also reflects the new consortium structure. +The B5 chapter has been rearranged and revised to clarify the +responsibilities of the coordinator, the project management and technical +board. In particular, the descriptions of the roles of the three partners +in the management troika are now located in the same place in the document +to provide a better overview of the division of responsibilities. We have +added new text to highlight that fact that the first task of the project +manager will be to define a quality assurance process and that this will +include a revision procedure for deliverables that ensures both technical +and non-technical partners are involved. + +Chapter B5 now also reflects the new consortium structure. **Action: Rename the first phase.** @@ -170,7 +194,7 @@ The B1.0 objectives chapter has been extended to clarify the issue and in particular the WP07_ description, and D7.3 and D7.1 deliverables. -Summarizing, today there are many complicated issues in current language +Summarising, today there are many complicated issues in current language implementations such as Java, Perl and Python itself. All such industrial strength language implementations usually decide early on a specific threading and memory management model. The PyPy project @@ -187,7 +211,7 @@ referring to.** The deliverables of WP04 and WP05 now specify choice of appropriate -tests. In general, we select existing language compliancy tests as the +tests. In general, we select existing language compliance tests as the primary measurement unit and disregard testing of implementation details specific to the current C-Python implementation. The original Python developers will be consulted if there is a doubt whether something is a @@ -195,24 +219,28 @@ **Action: The relevant [AOP/logic] sections of the DoW will be extended.** -Examples are now mentioned in B6.0 to clarify that PyPy aims at researching -and providing access and interception points to internals improving -performance and practicality of introducing aspects to the language -level and enabling Semantic Web applications. The WP09_ and WP10_ now -show more details. +Some background to these language extensions has been included in sections +B1.3 and B1.4 on the state of the art and examples are now mentioned in +B6.0 to clarify what functionality and performance improvements will be +targeted, how we take advantage of the new architecture for Python that +PyPy offers, and how we can use the new extensions to support inference +mechanisms for the semantic web. The descriptions of WP09_ and WP10_ now +show more details. -**Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** +**Action: The DoW will define tasks and deliverables that will be used as +vehicles for dissemination to people outside the Python community.** -WP14_ and WP11_ now trace workshops and dissmentiation activities +WP14_ and WP11_ now trace workshops and dissemination activities mentioned earlier in the implementation plan. Moreover, several reports and publications have been added to all Work Packages. Special care is taken to disseminate research reports, publication and workshop deliverables to non-python communities (see especially D14.1-8, D11.1-2). -**Action: The DoW will include a justification of the license chosen. Compatibility with the GPL will be addressed.** +**Action: The DoW will include a justification of the license +chosen. Compatibility with the GPL will be addressed.** -The license subchapter of "B3.0 Impact" has been extended to cover a +The license sub chapter of "B3.0 Impact" has been extended to cover a short discussion of choosing the MIT license over the GPL. In summary, the risk of a complete "hostile takeover" from some @@ -222,7 +250,7 @@ GPL licensed projects. While all consortium partners commit to produce source code and results -always under an MIT license the project explicitely reserves the right +always under an MIT license the project explicitly reserves the right to *include* GPLed software. In the latter case some versions of PyPy might have to be released under a GPL license. If PyPy becomes the basis of Python 3000, there will be pressure to release PyPy under the @@ -234,13 +262,13 @@ **Action: The DoW will be modified to avoid this [user] confusion.** The term 'end-user' has been dropped in favour of 'language user'. The -typical 'language user' of the PyPy -STREP are language integrators and researchers. They are also its immediate -beneficiaries. The line between being a language user and a contributor to -the project is designed to be easy-to-cross thus contributing to the effective -mobilization of resources. D03.3, D04.4, D11.1, D12.1-3, D13.2 and D13.3 -will be of especial interest to such language users. Nevertheless, The PyPy -implementation is indirectly useful to all users running applications -on top of PyPy especially if applications learn to exploit the performance -and flexibility features that PyPy will offer. These people will not be -neglected, and D14.2, D14.6-8 will be of particular interest to such users. +typical 'language user' of the PyPy STREP are language integrators and +researchers. They are also its immediate beneficiaries. The line between +being a language user and a contributor to the project is designed to be +easy-to-cross thus contributing to the effective mobilisation of resources. +D03.3, D04.4, D11.1, D12.1-3, D13.2 and D13.3 will be of especial interest +to such language users. Nevertheless, The PyPy implementation is +indirectly useful to all users running applications on top of PyPy +especially if applications learn to exploit the performance and flexibility +features that PyPy will offer. These people will not be neglected, and +D14.2, D14.6-8 will be of particular interest to such users. From alastair at codespeak.net Tue Apr 6 18:25:51 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Tue, 6 Apr 2004 18:25:51 +0200 (MEST) Subject: [pypy-svn] r3848 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406162551.F0EF75A155@thoth.codespeak.net> Author: alastair Date: Tue Apr 6 18:25:51 2004 New Revision: 3848 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: Minor typo Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 18:25:51 2004 @@ -102,7 +102,7 @@ large extent going to be in employing one of the core developers, who will now appear in the project hired by another partner. Thus connecting with the potential users of our results remains as important to us as it ever -was. We are still devoting devoting resources to this and plan to involve +was. We are still devoting resources to this and plan to involve potential PyPy users on various levels. Immediate beneficiaries of the PyPy STREP are predominantly From alastair at codespeak.net Tue Apr 6 18:32:50 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Tue, 6 Apr 2004 18:32:50 +0200 (MEST) Subject: [pypy-svn] r3849 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406163250.0CBA65A155@thoth.codespeak.net> Author: alastair Date: Tue Apr 6 18:32:50 2004 New Revision: 3849 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: Minor typo Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 18:32:50 2004 @@ -149,12 +149,12 @@ the inverse of what is correct in England, or the USA, where it is: 1,237.5 Note the swapped commas and periods. -Now when Swedes create a CPF, using the tool, their country settings +Now when Swedes create a CPF, using the tool, their country settings are configured to produce this X.YYY,Z format. If you share this file with someone from a different country using a different number format many -numbers get corrupted. This explains why you thought we had estimated -our costs in kilo-euros, when we were certain that we had not. It was -locale and language problem which we hope to have under control now. +numbers get corrupted. This explains why you thought we had estimated our +costs in kilo-euros, when we were certain that we had not. It was locale +and language problem which we hope to have under control now. **Action: the body text should be preserved, and a full tracing to work packages should be ensured (adding tasks, subtasks, and defined From alastair at codespeak.net Tue Apr 6 18:34:33 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Tue, 6 Apr 2004 18:34:33 +0200 (MEST) Subject: [pypy-svn] r3850 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406163433.5A86F5A155@thoth.codespeak.net> Author: alastair Date: Tue Apr 6 18:34:32 2004 New Revision: 3850 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: More diplomatic text on licensing Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 18:34:32 2004 @@ -250,14 +250,14 @@ GPL licensed projects. While all consortium partners commit to produce source code and results -always under an MIT license the project explicitly reserves the right -to *include* GPLed software. In the latter case some versions of PyPy -might have to be released under a GPL license. If PyPy becomes the -basis of Python 3000, there will be pressure to release PyPy under the -Python license which is very similar to the MIT license. In contrast, -using a GPL license would drastically reduce our ability to become the -basis of Python 3000, since the CPython developers reject the GPL as the -license for developing Python. +always under an MIT license the project explicitly reserves the right to +*include* GPLed software. In the latter case some versions of PyPy might +have to be released under a GPL license. If PyPy becomes the basis of +Python 3000, there will be pressure to release PyPy under the Python +license which is very similar to the MIT license. In contrast, using a GPL +license would drastically reduce our ability to become the basis of Python +3000, since the CPython developers have a clear preference for an MIT-style +license for developing Python. **Action: The DoW will be modified to avoid this [user] confusion.** From lac at codespeak.net Tue Apr 6 18:42:55 2004 From: lac at codespeak.net (lac at codespeak.net) Date: Tue, 6 Apr 2004 18:42:55 +0200 (MEST) Subject: [pypy-svn] r3851 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406164255.567395A155@thoth.codespeak.net> Author: lac Date: Tue Apr 6 18:42:54 2004 New Revision: 3851 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: Knew I was missing an article someplace! Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 18:42:54 2004 @@ -153,7 +153,7 @@ configured to produce this X.YYY,Z format. If you share this file with someone from a different country using a different number format many numbers get corrupted. This explains why you thought we had estimated our -costs in kilo-euros, when we were certain that we had not. It was locale +costs in kilo-euros, when we were certain that we had not. It was a locale and language problem which we hope to have under control now. **Action: the body text should be preserved, and a full tracing to From hpk at codespeak.net Tue Apr 6 18:51:13 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 18:51:13 +0200 (MEST) Subject: [pypy-svn] r3852 - pypy/trunk/doc/funding Message-ID: <20040406165113.006595A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 18:51:13 2004 New Revision: 3852 Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Log: add an expected result to wp02 like all the other WPs do Modified: pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt ============================================================================== --- pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt (original) +++ pypy/trunk/doc/funding/B6.7.wp02_maintenance.txt Tue Apr 6 18:51:13 2004 @@ -85,4 +85,6 @@ **Milestones and Expected Result** +Provide advanced infrastructure to support goals and objectives of the project. + .. include:: wp-tableend.asc From hpk at codespeak.net Tue Apr 6 19:03:15 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 19:03:15 +0200 (MEST) Subject: [pypy-svn] r3853 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406170315.9A6C85A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 19:03:06 2004 New Revision: 3853 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: - reordered paras relating to the pbf financing issue - fixed some typos Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 19:03:06 2004 @@ -32,7 +32,7 @@ The partners have therefore taken the comments of the evaluators and the project officer very much to heart and tried to make the novel aspects of -the project clearer. The appropriate chapter of B1.0 in the TA has been +the project clearer. The appropriate chapters of B1.0 in the TA have been extended accordingly. In summary, we have the following theoretically new approaches and practical solutions: @@ -62,15 +62,9 @@ The project coordinator (Alastair Burt, DFKI) sent a mail on the 29th of March detailing the future role of the PBF within the PyPy research -project. At the same time, three participants, (Holger Krekel, Alex -Martelli and Christian Tismer) who formerly would work through the PBF -are now to enter the consortium as independent partners. We presume -until further feedback that this is a viable model and have allocated -resources and partners in the DoW accordingly. - -Summarising, the PBF is to bring in additional experts on specific -problems arising during the process of the project. This will decrease -the risk of failing. +project. Summarising, the PBF is to bring in additional experts on +specific problems arising during the process of the project. This will +decrease the risk of failing. The PBF also serves as a valuable vehicle for dissemination to potential PyPy integrators and users, given that it is comprised of SMEs whose @@ -81,6 +75,13 @@ producer and consumer of information. See especially Work Package 14, Documentation and Dissemination. +At the same time, three participants, (Holger Krekel, Alex Martelli and +Christian Tismer) who formerly would work through the PBF are now to +enter the consortium as independent partners. + +We presume until further feedback that this is a viable model and have +allocated resources and partners in the DoW accordingly. + **Action: in first instance no work packages should be removed as savings should be obtained through economizing the work planning. Also the reduction of the language user involvement already represents a reduction @@ -131,7 +132,7 @@ existing Python community. The PBF will bring interested parties and developers into the project -via "Sprints". Those one week meetings serve the dissemination of our +via "Sprints". Those one week long meetings serve the dissemination of our efforts and are likely to raise interest within various communities, interest which is sustained through the presentation of papers at various computer From hpk at codespeak.net Tue Apr 6 19:41:25 2004 From: hpk at codespeak.net (hpk at codespeak.net) Date: Tue, 6 Apr 2004 19:41:25 +0200 (MEST) Subject: [pypy-svn] r3856 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406174125.AB70B5A155@thoth.codespeak.net> Author: hpk Date: Tue Apr 6 19:41:22 2004 New Revision: 3856 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: added a summarising sentence with respect to AOP Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 19:41:22 2004 @@ -228,6 +228,14 @@ mechanisms for the semantic web. The descriptions of WP09_ and WP10_ now show more details. +Summarising, the PyPy architecture is a perfect fit for AOP, being both +based on dynamic rewrite and manipulation of code. AOP can benefit not +only from the compiler extensibility (syntax tree manipulations) but +also from the recovery of the performance that AOP traditionally looses +by introducing extra layers. In this respect, examples of common +aspects include tracing method calls, enabling simple profiling, +implementing the observer design pattern, and also design by contract. + **Action: The DoW will define tasks and deliverables that will be used as vehicles for dissemination to people outside the Python community.** From tismer at codespeak.net Tue Apr 6 20:12:23 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Tue, 6 Apr 2004 20:12:23 +0200 (MEST) Subject: [pypy-svn] r3858 - pypy/trunk/doc/funding Message-ID: <20040406181223.BD7A85A155@thoth.codespeak.net> Author: tismer Date: Tue Apr 6 20:12:23 2004 New Revision: 3858 Modified: pypy/trunk/doc/funding/B1.0_objectives.txt Log: bad references, not recognized by ReST Modified: pypy/trunk/doc/funding/B1.0_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/B1.0_objectives.txt (original) +++ pypy/trunk/doc/funding/B1.0_objectives.txt Tue Apr 6 20:12:23 2004 @@ -81,7 +81,7 @@ The PyPy project plans to deliver a compliant language implementation passing all unit-tests of the current reference C-implementation that are relevant to the new one. At least 90% of existing unit tests will be directly -applicable.[*]_ Moreover, we will be able to add techniques such as JIT compilation +applicable. [*]_ Moreover, we will be able to add techniques such as JIT compilation without making the interpreter more complex. Not only will we thus produce a more easily-understood optimising compiler, of particular interest to educators, but we will also get speed increases of @@ -192,7 +192,7 @@ variable*, which allows the matching of data through unification or constraint processing, and non-deterministic control structures. Work initiated at the DFKI has examined ways to combine these constructs with -those from other languages[Sch02]_. A key concept here is *encapsulated +those from other languages [Sch02]_. A key concept here is *encapsulated search*, which hives off these features from the more mainstream programming constructs. From alastair at codespeak.net Tue Apr 6 20:47:05 2004 From: alastair at codespeak.net (alastair at codespeak.net) Date: Tue, 6 Apr 2004 20:47:05 +0200 (MEST) Subject: [pypy-svn] r3859 - pypy/trunk/doc/funding/negotiations Message-ID: <20040406184705.2E9695A155@thoth.codespeak.net> Author: alastair Date: Tue Apr 6 20:47:04 2004 New Revision: 3859 Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Log: Minor point of English style Modified: pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt ============================================================================== --- pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt (original) +++ pypy/trunk/doc/funding/negotiations/responses_2nd_april.txt Tue Apr 6 20:47:04 2004 @@ -14,9 +14,9 @@ .. _WP14: ../B6.7.wp14_documentation.html .. |e| unicode:: 0x20 .. doesn't work with plain spaces -======================================================================== -Responses to Actions put up in the Meeting notes from 16th of March 2004 -======================================================================== +============================================================================ +Responses to Actions Brought up in the Meeting Notes from 16th of March 2004 +============================================================================ **Action: An explanation on how the envisaged work goes beyond the state-of-the-art (both in theoretical concepts and solutions and in the From tismer at codespeak.net Tue Apr 6 20:48:04 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Tue, 6 Apr 2004 20:48:04 +0200 (MEST) Subject: [pypy-svn] r3860 - pypy/trunk/doc/funding Message-ID: <20040406184804.6A42C5A155@thoth.codespeak.net> Author: tismer Date: Tue Apr 6 20:48:03 2004 New Revision: 3860 Modified: pypy/trunk/doc/funding/B3.impact.txt pypy/trunk/doc/funding/long_old_objectives.txt Log: **references** markup missing Modified: pypy/trunk/doc/funding/B3.impact.txt ============================================================================== --- pypy/trunk/doc/funding/B3.impact.txt (original) +++ pypy/trunk/doc/funding/B3.impact.txt Tue Apr 6 20:48:03 2004 @@ -541,7 +541,7 @@ network video and print servers. -References: +**References** .. [PEP1] http://www.python.org/peps/pep-0001.html Modified: pypy/trunk/doc/funding/long_old_objectives.txt ============================================================================== --- pypy/trunk/doc/funding/long_old_objectives.txt (original) +++ pypy/trunk/doc/funding/long_old_objectives.txt Tue Apr 6 20:48:03 2004 @@ -254,7 +254,7 @@ In summary, to translate PyPy itself to C, we will be using PyPy! -References: +**References** .. [S03] Gregory Sullivan et. al., "Dynamic Native Optimization of Native Interpreters". IVME 03. 2003. http://www.ai.mit.edu/~gregs/dynamorio.html From tismer at codespeak.net Tue Apr 6 21:06:19 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Tue, 6 Apr 2004 21:06:19 +0200 (MEST) Subject: [pypy-svn] r3861 - pypy/trunk/doc/funding Message-ID: <20040406190619.0CE2F5A155@thoth.codespeak.net> Author: tismer Date: Tue Apr 6 21:06:19 2004 New Revision: 3861 Modified: pypy/trunk/doc/funding/B4.resources.txt Log: emphasized names and removed indent, just in case I need to format this again... Modified: pypy/trunk/doc/funding/B4.resources.txt ============================================================================== --- pypy/trunk/doc/funding/B4.resources.txt (original) +++ pypy/trunk/doc/funding/B4.resources.txt Tue Apr 6 21:06:19 2004 @@ -403,100 +403,100 @@ in the various tasks of the project, each partner brings unique skills or functions, without which the project is not complete. -DFKI - has previous experience of being a project coordinator in EU projects, - ensuring smooth communication between the project and the FP6 project - officer. - -University of Southampton - is the employer of Armin Rigo, who is the lead architect of the whole - project as well as the author of Psyco, the blueprint for how to do - optimisation in PyPy. - -Strakt - brings management knowhow and entrepreneurial skills to the project as - well as showcasing how to apply the results of the project in a major - business application. - - Strakt will also bring Tim Peters and Samuele Pedroni to the project. - Tim Peters been a core developer of the Python language, what we call - CPython, from its inception. Apart from being an outstanding programmer, - Tim has intimate knowledge about all the details of the Python language - definition. As Director of the Python Software foundation, Tim Peters is - also responsible for the Intellectual Property of the existing Python - language. - - Samuele Pedroni is currently the main developer of Jython (the - industry-strength Java re-implementation of Python), working on - internals, compilers and Java integration. A member of the Python - Software Foundation, he brings to the project his know-how on - languages, re-implementation/design of Python, reflection, lookup and - dispatch optimisation. - - With 13 full time and 6 part time employees, Strakt is an SME - representative. Strakt is particularly interested in this project - because it is doubtful that its Framework system, CAPS, can scale from - several hundred thousand to several million concurrent users unless - one of two things happen. Either parts of CAPS are rewritten in C, - which is faster, or Python itself becomes faster. The second - alternative is much to be preferred. Participation will also enhance - Strakt's ability to attract the best Python programmers, and add to - it's reputation in the Open Source community. Strakt's financial - backer and board of Directors enthuthiastically endorse participation - in this project as a brilliant strategic move. - -Changemaker - adds rare project management skills by managing not only the project, but - the learning processes of the project participants as well as the group - dynamics between the different members. We intend to document and - disseminate the management of change throughout the project. Changemaker - is also the contact point for Axis Communications, who will receive a - specific report on how to integrate PyPy in an embedded device. - -Logilab - focuses on constraints and aspect oriented programming and will verify - that PyPy is both extensible with specialised language features and - embeddable in small-sized devices with dedicated hardware. - - With 7 full time employees, Logilab is an SME representative. - -Python Business Forum - brings a number of SME parties to the project who are eager to apply PyPy - to their various products. They are user Stakeholders, and the primary - intended audience of some of our reports. Many of them, on their own, - have expressed a desire to encorporate PyPy into their products as soon - as it is finished and stable. We will report on their progress to the - Commission as well, even though they are not to be funded by the - Commission, as an extra point of reference. - - The PBF also provides important outreach to the members of Eastern - Europe, and Candidate Countries. Since its founding, it has had - a board member responsible for precisely that: - - - I've been a PBF board member from its founding. I am responsible for - the Eastern Europe liaisons. I am an intermediary of sorts between - the PBF and the businesses located in the candidate countries of - Eastern Europe. The PBF is an important link between businesses in - the EU and the candidate countries. +**DFKI** +has previous experience of being a project coordinator in EU projects, +ensuring smooth communication between the project and the FP6 project +officer. + +**University of Southampton** +is the employer of Armin Rigo, who is the lead architect of the whole +project as well as the author of Psyco, the blueprint for how to do +optimisation in PyPy. + +**Strakt** +brings management knowhow and entrepreneurial skills to the project as +well as showcasing how to apply the results of the project in a major +business application. + +Strakt will also bring Tim Peters and Samuele Pedroni to the project. +Tim Peters been a core developer of the Python language, what we call +CPython, from its inception. Apart from being an outstanding programmer, +Tim has intimate knowledge about all the details of the Python language +definition. As Director of the Python Software foundation, Tim Peters is +also responsible for the Intellectual Property of the existing Python +language. + +Samuele Pedroni is currently the main developer of Jython (the +industry-strength Java re-implementation of Python), working on +internals, compilers and Java integration. A member of the Python +Software Foundation, he brings to the project his know-how on +languages, re-implementation/design of Python, reflection, lookup and +dispatch optimisation. + +With 13 full time and 6 part time employees, Strakt is an SME +representative. Strakt is particularly interested in this project +because it is doubtful that its Framework system, CAPS, can scale from +several hundred thousand to several million concurrent users unless +one of two things happen. Either parts of CAPS are rewritten in C, +which is faster, or Python itself becomes faster. The second +alternative is much to be preferred. Participation will also enhance +Strakt's ability to attract the best Python programmers, and add to +it's reputation in the Open Source community. Strakt's financial +backer and board of Directors enthuthiastically endorse participation +in this project as a brilliant strategic move. + +**Changemaker** +adds rare project management skills by managing not only the project, but +the learning processes of the project participants as well as the group +dynamics between the different members. We intend to document and +disseminate the management of change throughout the project. Changemaker +is also the contact point for Axis Communications, who will receive a +specific report on how to integrate PyPy in an embedded device. + +**Logilab** +focuses on constraints and aspect oriented programming and will verify +that PyPy is both extensible with specialised language features and +embeddable in small-sized devices with dedicated hardware. + +With 7 full time employees, Logilab is an SME representative. + +**Python Business Forum** +brings a number of SME parties to the project who are eager to apply PyPy +to their various products. They are user Stakeholders, and the primary +intended audience of some of our reports. Many of them, on their own, +have expressed a desire to encorporate PyPy into their products as soon +as it is finished and stable. We will report on their progress to the +Commission as well, even though they are not to be funded by the +Commission, as an extra point of reference. + +The PBF also provides important outreach to the members of Eastern +Europe, and Candidate Countries. Since its founding, it has had +a board member responsible for precisely that: + +- I've been a PBF board member from its founding. I am responsible for + the Eastern Europe liaisons. I am an intermediary of sorts between + the PBF and the businesses located in the candidate countries of + Eastern Europe. The PBF is an important link between businesses in + the EU and the candidate countries. Jacek Artymiak - Extra care will be taken to see that our results will be properly - disseminated to our PBF members in the Candidate Countries. +Extra care will be taken to see that our results will be properly +disseminated to our PBF members in the Candidate Countries. -Holger Krekel - will have a focus on development, packaging and - dissemination tools. He will also be a main contributor in matters of - systems architecture. - -Christian Tismer - is the developer of Stackless Python, which is the - blueprint for how we intend to implement persistent threads. - -Alex Martelli - is a prolific writer and popular speaker as well as a Python - programmer. Alex is uniquely suited for widely disseminating the progress - and the results of the project. +**Holger Krekel** +will have a focus on development, packaging and +dissemination tools. He will also be a main contributor in matters of +systems architecture. + +**Christian Tismer** +is the developer of Stackless Python, which is the +blueprint for how we intend to implement persistent threads. + +**Alex Martelli** +is a prolific writer and popular speaker as well as a Python +programmer. Alex is uniquely suited for widely disseminating the progress +and the results of the project. Ability to Deliver ++++++++++++++++++ From tismer at codespeak.net Tue Apr 6 22:29:48 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Tue, 6 Apr 2004 22:29:48 +0200 (MEST) Subject: [pypy-svn] r3862 - pypy/trunk/doc/funding Message-ID: <20040406202948.009D65A155@thoth.codespeak.net> Author: tismer Date: Tue Apr 6 22:29:48 2004 New Revision: 3862 Modified: pypy/trunk/doc/funding/B7.0_other_issues.txt Log: turned textual [] references into real footnotes Modified: pypy/trunk/doc/funding/B7.0_other_issues.txt ============================================================================== --- pypy/trunk/doc/funding/B7.0_other_issues.txt (original) +++ pypy/trunk/doc/funding/B7.0_other_issues.txt Tue Apr 6 22:29:48 2004 @@ -78,7 +78,7 @@ Women are chronically (and increasingly) underrepresented in the computer field; particularly among designers of software and products. -Studies[1][2] have shown several factors involved in this gender gap, among +Studies [1]_ [2]_ have shown several factors involved in this gender gap, among them: - Lack of experience with computers leading to avoidance of CS as a field of study or employment. @@ -114,7 +114,7 @@ introducing women to the field of programming, the Georgia Institute of Technology teaches a course for non-Computer Science majors which focuses on media, rather than the traditional math-oriented -model. This is the Abstract of the paper[3] describing the course: +model. This is the Abstract of the paper [3]_ describing the course: Computing may well become considered an essential part of a liberal education, but introductory programming courses will not @@ -131,17 +131,17 @@ field of programming. Indeed, the ratio in this project is actually more than twice of what is normal. -[1] Becoming a computer scientist: a report by the ACM committee on the status of women in computing science. -Authors: Pearl, Amy; Pollack, Martha E.; Riskin, Eve; Thomas, Becky; Wolf, Elizabeth; Wu, Alice. -Journal: Communications of the ACM, Nov. 1990, v33, n11, p47-58. - -[2] Unlocking the Clubhouse: Women in Computing -Allan Fisher and Jane Margolis, PIs -School of Computer Science -Carnegie Mellon University -MIT Press, 2002, ISBN 0262133989. +.. [1] Becoming a computer scientist: a report by the ACM committee on the status of women in computing science. + Authors: Pearl, Amy; Pollack, Martha E.; Riskin, Eve; Thomas, Becky; Wolf, Elizabeth; Wu, Alice. + Journal: Communications of the ACM, Nov. 1990, v33, n11, p47-58. + +.. [2] Unlocking the Clubhouse: Women in Computing + Allan Fisher and Jane Margolis, PIs + School of Computer Science + Carnegie Mellon University + MIT Press, 2002, ISBN 0262133989. -[3] http://coweb.cc.gatech.edu/mediaComp-plan/uploads/37/ITICSE-mediacomp2.pdf +.. [3] http://coweb.cc.gatech.edu/mediaComp-plan/uploads/37/ITICSE-mediacomp2.pdf Safety Issues ---------------- From tismer at codespeak.net Tue Apr 6 22:46:58 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Tue, 6 Apr 2004 22:46:58 +0200 (MEST) Subject: [pypy-svn] r3863 - in pypy/trunk/doc/funding: makedoc negotiations Message-ID: <20040406204658.DE33C5A155@thoth.codespeak.net> Author: tismer Date: Tue Apr 6 22:46:58 2004 New Revision: 3863 Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf Log: this is the candidate for the TA final. I hope you don't find too bad bugs. Good night -- chris Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary files. No diff available. From tismer at codespeak.net Tue Apr 6 23:17:59 2004 From: tismer at codespeak.net (tismer at codespeak.net) Date: Tue, 6 Apr 2004 23:17:59 +0200 (MEST) Subject: [pypy-svn] r3864 - in pypy/trunk/doc/funding: makedoc negotiations Message-ID: <20040406211759.70AAE5A155@thoth.codespeak.net> Author: tismer Date: Tue Apr 6 23:17:58 2004 New Revision: 3864 Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf Log: Small corrections of OOo related effects. Modified: pypy/trunk/doc/funding/makedoc/part_b_2004_04_02.sxw ============================================================================== Binary files. No diff available. Modified: pypy/trunk/doc/funding/negotiations/part_b_2004_04_02.pdf ============================================================================== Binary files. No diff available. From sanxiyn at codespeak.net Wed Apr 7 18:51:55 2004 From: sanxiyn at codespeak.net (sanxiyn at codespeak.net) Date: Wed, 7 Apr 2004 18:51:55 +0200 (MEST) Subject: [pypy-svn] r3868 - pypy/trunk/src/goal Message-ID: <20040407165155.369245B07F@thoth.codespeak.net> Author: sanxiyn Date: Wed Apr 7 18:51:54 2004 New Revision: 3868 Added: pypy/trunk/src/goal/compiler-hack.py Log: Hacks to import compiler package! Added: pypy/trunk/src/goal/compiler-hack.py ============================================================================== --- (empty file) +++ pypy/trunk/src/goal/compiler-hack.py Wed Apr 7 18:51:54 2004 @@ -0,0 +1,12 @@ +# Hacks to import compiler package +# As of revision 3865 + +import os +os.error = OSError +__builtins__['reload'] = lambda x: x +import ihooks +ihooks.install() +import compiler +c = compiler.compile('a=1', '', 'exec') +import dis +dis.dis(c) From sanxiyn at codespeak.net Wed Apr 7 18:59:41 2004 From: sanxiyn at codespeak.net (sanxiyn at codespeak.net) Date: Wed, 7 Apr 2004 18:59:41 +0200 (MEST) Subject: [pypy-svn] r3869 - pypy/trunk/src/goal Message-ID: <20040407165941.66FEE5B07F@thoth.codespeak.net> Author: sanxiyn Date: Wed Apr 7 18:59:40 2004 New Revision: 3869 Modified: pypy/trunk/src/goal/compiler-hack.py Log: Replaces __builtin__ correctly. Modified: pypy/trunk/src/goal/compiler-hack.py ============================================================================== --- pypy/trunk/src/goal/compiler-hack.py (original) +++ pypy/trunk/src/goal/compiler-hack.py Wed Apr 7 18:59:40 2004 @@ -3,7 +3,8 @@ import os os.error = OSError -__builtins__['reload'] = lambda x: x +import __builtin__ +__builtin__.reload = lambda x: x import ihooks ihooks.install() import compiler From jum at codespeak.net Thu Apr 15 17:02:06 2004 From: jum at codespeak.net (jum at codespeak.net) Date: Thu, 15 Apr 2004 17:02:06 +0200 (MEST) Subject: [pypy-svn] r4054 - pypy/trunk/doc/devel Message-ID: <20040415150206.1C8CC5A15E@thoth.codespeak.net> Author: jum Date: Thu Apr 15 17:02:05 2004 New Revision: 4054 Modified: pypy/trunk/doc/devel/howtosvn.txt Log: Add info about the location of the servers file on Windows. Modified: pypy/trunk/doc/devel/howtosvn.txt ============================================================================== --- pypy/trunk/doc/devel/howtosvn.txt (original) +++ pypy/trunk/doc/devel/howtosvn.txt Thu Apr 15 17:02:05 2004 @@ -122,7 +122,11 @@ Circumventing proxies ---------------------------- -Some proxies don't let extended HTTP commands through. If you have an error complaining about a bad request, you can ask subversion to use the alternate port 8080 to connect to codespeak.net by adding the following lines in a file ``~/.subversion/servers`` (on Unix at least):: +Some proxies don't let extended HTTP commands through. If you have an +error complaining about a bad request, you can ask subversion to use the +alternate port 8080 to connect to codespeak.net by adding the following +lines in a file ``~/.subversion/servers`` (on Unix) or +``%APPDATA%\Subversion\servers`` (on Windows):: [groups] codespeak = codespeak.net @@ -142,7 +146,7 @@ .. _guide: http://svnbook.red-bean.com/book.html#svn-ch-1 .. _archives: http://codespeak.net/pipermail/pypy-svn/ -.. _online: http://codespeak.net/svn/pypy/trunk +.. _online: http://codespeak.net/svn/pypy/trunk/ .. _coding-style: http://codespeak.net/pypy/doc/devel/coding-style.html .. _readme: http://codespeak.net/pypy/doc/readme.html .. _HowToInstallServer: http://codespeak.net/moin/pypy/moin.cgi/HowToInstallServer From mwh at codespeak.net Mon Apr 26 13:03:36 2004 From: mwh at codespeak.net (mwh at codespeak.net) Date: Mon, 26 Apr 2004 13:03:36 +0200 (MEST) Subject: [pypy-svn] r4170 - pypy/trunk/src/pypy Message-ID: <20040426110336.301095A245@thoth.codespeak.net> Author: mwh Date: Mon Apr 26 13:03:34 2004 New Revision: 4170 Modified: pypy/trunk/src/pypy/TODO Log: Test checkin. Modified: pypy/trunk/src/pypy/TODO ============================================================================== --- pypy/trunk/src/pypy/TODO (original) +++ pypy/trunk/src/pypy/TODO Mon Apr 26 13:03:34 2004 @@ -8,9 +8,6 @@ * Supports traceback. At least sys.exc_info. (Many modules expect it.) -* slicing with assigments & more small things - lst[::-2] = lst2 - * (documentation) generate a nice dot-graph from the structure of PyPy * trash the standard unittest framework/enhance it (there already From arigo at codespeak.net Fri Apr 30 20:49:01 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Fri, 30 Apr 2004 20:49:01 +0200 (MEST) Subject: [pypy-svn] r4208 - pypy/branch/typeinference Message-ID: <20040430184901.4835D5A245@thoth.codespeak.net> Author: arigo Date: Fri Apr 30 20:48:59 2004 New Revision: 4208 Added: pypy/branch/typeinference/ - copied from r4207, pypy/trunk/src/ Log: Branching the PyPy src to experiment with the model in which the annotations are not just a big heap a la Prolog, but instances of SomeObject, SomeInteger, etc. From arigo at codespeak.net Fri Apr 30 21:03:20 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Fri, 30 Apr 2004 21:03:20 +0200 (MEST) Subject: [pypy-svn] r4209 - in pypy/branch/typeinference/pypy: annotation annotation/test translator Message-ID: <20040430190320.000045A245@thoth.codespeak.net> Author: arigo Date: Fri Apr 30 21:03:14 2004 New Revision: 4209 Added: pypy/branch/typeinference/pypy/annotation/binaryop.py (contents, props changed) pypy/branch/typeinference/pypy/annotation/factory.py (contents, props changed) pypy/branch/typeinference/pypy/annotation/pairtype.py (contents, props changed) pypy/branch/typeinference/pypy/annotation/test/test_model.py (contents, props changed) Removed: pypy/branch/typeinference/pypy/annotation/annset.py pypy/branch/typeinference/pypy/annotation/test/test_annset.py Modified: pypy/branch/typeinference/pypy/annotation/model.py pypy/branch/typeinference/pypy/translator/annrpython.py pypy/branch/typeinference/pypy/translator/genpyrex.py pypy/branch/typeinference/pypy/translator/transform.py pypy/branch/typeinference/pypy/translator/translator.py Log: First try. annotation.model contains the basic Some* classes annotation.binaryop has the logic for the union, plus other binary ops annotation.test.test_model Together they replace the horribly obscure annotation.annset and its merge nightmare, which is gone together with its test suite. annotation.factory factories remember how to create mutable objects The rest (in pypy/translator) is in a no-test-passing state, but very simple functions like simple_func (i -> i+1) can already be successfully analysed and Pyrexed with translator/translator.py. Deleted: /pypy/branch/typeinference/pypy/annotation/annset.py ============================================================================== --- /pypy/branch/typeinference/pypy/annotation/annset.py Fri Apr 30 21:03:14 2004 +++ (empty file) @@ -1,209 +0,0 @@ -from __future__ import generators -import types -from model import SomeValue, ANN, immutable_types - - -class MostGeneralValue: - def __nonzero__(self): - return False -mostgeneralvalue = MostGeneralValue() - -class ImpossibleValue(Exception): - pass -impossiblevalue = ImpossibleValue() - - -class About: - def __init__(self): - # 'annotations' maps Predicates to tuples - # (SomeValue, {set-of-blocks-depending-on-this-annotation}) - self.annotations = {} - self.subjects = {} # set of SomeValues we are about - def __repr__(self): # debugging - subjs = [repr(c) for c in self.subjects] - subjs.sort() - lines = ['About %s:' % ' and '.join(subjs)] - annotations = [(str(pred), value) - for pred, (value, deps) in self.annotations.items()] - annotations.sort() - for name, somevalue in annotations: - lines.append('%15s --> %r' % (name, somevalue)) - return '\n'.join(lines) - - -class AnnotationSet: - """An annotation set is a (large) family of annotations.""" - - # This is basically a mapping {SomeValue(): About()} - # with convenient methods. - - def __init__(self): - self.about = {} - self.inblock = None - - def enter(self, block, callback): - self.inblock = block - self.callback = callback - - def leave(self): - self.inblock = None - - def isshared(self, val1, val2): - return self.about.get(val1, val1) == self.about.get(val2, val2) - - def __repr__(self): # debugging - lines = ['===== AnnotationSet ====='] - abouts = [(repr(somevalue), about) - for somevalue, about in self.about.items()] - abouts.sort() - alreadyseen = {} - for name, about in abouts: - if about not in alreadyseen: - if about.annotations: # ignore empty Abouts - lines.append(repr(about)) - alreadyseen[about] = True - return '\n'.join(lines) - - def get(self, predicate, subject): - if subject is not mostgeneralvalue: - about = self._about(subject) - result = about.annotations.get(predicate) - if result: - answer, dependencies = result - if self.inblock: - dependencies[self.inblock] = True - return answer - return mostgeneralvalue - - def _about(self, somevalue): - try: - return self.about[somevalue] - except KeyError: - if somevalue is mostgeneralvalue: - raise ValueError, "Unexpected mostgeneralvalue" - if isinstance(somevalue, ImpossibleValue): - raise somevalue - about = self.about[somevalue] = About() - about.subjects[somevalue] = True - return about - - def set(self, predicate, subject, answer): - about = self._about(subject) - if predicate in about.annotations: - raise ValueError, "There is already an annotation for %r" % subject - if answer is not mostgeneralvalue: - about.annotations[predicate] = answer, {} - - def kill(self, predicate, subject): - about = self._about(subject) - if predicate in about.annotations: - someval, deps = about.annotations[predicate] - del about.annotations[predicate] - # perform invalidations - for block in deps: - self.callback(block) - - def generalize(self, predicate, subject, otherpossibleanswer): - """Generalize the given annotation to also account for the given - answer.""" - # We shouldn't record a dependency so - # we can't just do 'oldanswer = self.get(predicate, subject)' - oldanswer = mostgeneralvalue - if subject is not mostgeneralvalue: - about = self._about(subject) - old = about.annotations.get(predicate) - if old: - oldanswer, dependencies = old - newanswer = self.merge(oldanswer, otherpossibleanswer) - if not self.isshared(oldanswer, newanswer): - self.kill(predicate, subject) - self.set(predicate, subject, newanswer) - - def set_or_generalize(self, predicate, subject, otherpossibleanswer): - """This is a hack. Do not use for SomeValues that could be merged.""" - about = self._about(subject) - if predicate in about.annotations: - self.generalize(predicate, subject, otherpossibleanswer) - else: - self.set(predicate, subject, otherpossibleanswer) - - def merge(self, oldvalue, newvalue): - """Update the heap to account for the merging of oldvalue and newvalue. - Return the merged somevalue.""" - if isinstance(newvalue, ImpossibleValue): - return oldvalue - if isinstance(oldvalue, ImpossibleValue): - return newvalue - if newvalue is mostgeneralvalue or oldvalue is mostgeneralvalue: - return mostgeneralvalue - if self.isshared(oldvalue, newvalue): - return oldvalue - - if not (isinstance(oldvalue, SomeValue) and - isinstance(newvalue, SomeValue)): - return mostgeneralvalue - - # build an About set that is the intersection of the two incoming ones - about1 = self._about(oldvalue) - about2 = self._about(newvalue) - about3 = About() - for pred in about1.annotations: - if pred in about2.annotations: - someval1, dep1 = about1.annotations[pred] - someval2, dep2 = about2.annotations[pred] - if someval1 == someval2: - someval3 = someval1 - else: - someval3 = self.merge(someval1, someval2) - if someval3 is mostgeneralvalue: - continue # annotation not in common - dep3 = dep1.copy() - dep3.update(dep2) - about3.annotations[pred] = someval3, dep3 - - # if 'oldvalue' or 'newvalue' is immutable, we should not - # modify the annotations about it. If one of them is mutable, - # then we must replace its About set with 'about3'. - invalidatedblocks = {} - for about in [about1, about2]: - # find all annotations that are removed or generalized - removedannotations = [] - for pred, (someval, deps) in about.annotations.items(): - if (pred in about3.annotations and - self.isshared(about3.annotations[pred][0], someval)): - continue # unmodified annotation - removedannotations.append(deps) - # if the existing 'value' is mutable, or if nothing has been - # removed, then we identify (by sharing) the 'value' and the - # new 'about3'. - if not removedannotations or ANN.immutable not in about.annotations: - # patch 'value' to use the new 'about3'. - for sharedvalue in about.subjects: # this includes 'value' - self.about[sharedvalue] = about3 - about3.subjects[sharedvalue] = True - for deps in removedannotations: - invalidatedblocks.update(deps) - - if not about3.subjects: - value3 = SomeValue() - self.about[value3] = about3 - about3.subjects[value3] = True - - # perform invalidations - for block in invalidatedblocks: - self.callback(block) - - return about3.subjects.iterkeys().next() - - def checktype(self, someval, checktype): - knowntype = self.get(ANN.type, someval) - return knowntype and issubclass(knowntype, checktype) - - def settype(self, someval, knowntype): - self.set(ANN.type, someval, knowntype) - if knowntype in immutable_types: - self.set(ANN.immutable, someval, True) - - def copytype(self, oldcell, newcell): - self.set(ANN.type, newcell, self.get(ANN.type, oldcell)) - self.set(ANN.immutable, newcell, self.get(ANN.immutable, oldcell)) Added: pypy/branch/typeinference/pypy/annotation/binaryop.py ============================================================================== --- (empty file) +++ pypy/branch/typeinference/pypy/annotation/binaryop.py Fri Apr 30 21:03:14 2004 @@ -0,0 +1,98 @@ +""" +Binary operations between SomeValues. +""" + +from pypy.annotation.pairtype import pair, pairtype +from pypy.annotation.model import SomeObject, SomeInteger, SomeString, SomeList +from pypy.annotation.model import SomeTuple, SomeImpossibleValue + + +def setunion(d1, d2): + "Union of two sets represented as dictionaries." + d = d1.copy() + d.update(d2) + return d + + +BINARY_OPERATIONS = {'add': True, + 'sub': True, + 'union': True, + } + +class __extend__(pairtype(SomeObject, SomeObject)): + # default case + + for name in BINARY_OPERATIONS: + locals()[name] = lambda *dummy: SomeObject() + del name + + +class __extend__(pairtype(SomeInteger, SomeInteger)): + + def union((int1, int2)): + return SomeInteger(nonneg = int1.nonneg and int2.nonneg) + + def add((int1, int2)): + return SomeInteger(nonneg = int1.nonneg and int2.nonneg) + + def sub((int1, int2)): + return SomeInteger() + + +class __extend__(pairtype(SomeString, SomeString)): + + def union((str1, str2)): + return SomeString() + + def add((str1, str2)): + return SomeString() + + +class __extend__(pairtype(SomeList, SomeList)): + + def union((lst1, lst2)): + return SomeList(setunion(lst1.factories, lst2.factories), + s_item = pair(lst1.s_item, lst2.s_item).union()) + + add = union + + +class __extend__(pairtype(SomeTuple, SomeTuple)): + + def union((tup1, tup2)): + if len(tup1.items) != len(tup2.items): + return SomeObject() + else: + unions = [pair(x,y).union() for x,y in zip(tup1.items, tup2.items)] + return SomeTuple(items = unions) + + def add((tup1, tup2)): + return SomeTuple(items = tup1.items + tup2.items) + + +class __extend__(pairtype(SomeList, SomeInteger)): + + def mul((lst1, int2)): + return lst1 + + def getitem((lst1, int2)): + return lst1.s_item + + def setitem((lst1, int2), value): + if not lst1.s_item.contains(value): + raise NeedGeneralization(lst1, value) + + +class __extend__(pairtype(SomeInteger, SomeList)): + + def mul((int1, lst2)): + return lst2 + + +class __extend__(pairtype(SomeImpossibleValue, SomeObject)): + def union((imp1, obj2)): + return obj2 + +class __extend__(pairtype(SomeObject, SomeImpossibleValue)): + def union((obj1, imp2)): + return obj1 Added: pypy/branch/typeinference/pypy/annotation/factory.py ============================================================================== --- (empty file) +++ pypy/branch/typeinference/pypy/annotation/factory.py Fri Apr 30 21:03:14 2004 @@ -0,0 +1,42 @@ +""" +Mutable Objects Factories. + +A factory is associated to each point in the source that creates a mutable +object. The factory remembers how general an object it has to create here. + +""" + +from pypy.annotation.pairtype import pair +from pypy.annotation.model import SomeImpossibleValue + + +class BlockedInference(Exception): + """This exception signals the type inference engine that the situation + is currently blocked, and that it should try to progress elsewhere.""" + +class NeedGeneralization(BlockedInference): + """The mutable object s_mutable requires generalization. + The *args are passed to the generalize() method of the factory.""" + + def __init__(self, s_mutable, *args): + BlockedInference.__init__(self, s_mutable, *args) + for factory in s_mutable.factories: + factory.generalize(*args) + + +# +# Factories +# + +class ListFactory: + + def __init__(self, block): + self.block = block # block containing the list creation op + self.s_item = SomeImpossibleValue() + + def create(self): + return SomeList(factories = {self: True}, s_item = self.s_item) + + def generalize(self, s_new_item): + self.s_item = pair(self.s_item, s_new_item).union() + self.block.invalidate() Modified: pypy/branch/typeinference/pypy/annotation/model.py ============================================================================== --- pypy/branch/typeinference/pypy/annotation/model.py (original) +++ pypy/branch/typeinference/pypy/annotation/model.py Fri Apr 30 21:03:14 2004 @@ -1,52 +1,105 @@ -import types +""" +This file defines the 'subset' SomeValue classes. -class SomeValue: - def __repr__(self): - return debugname(self, 'SV') - -class Predicate: - def __init__(self, debugname): - self.debugname = debugname - def __str__(self): - return self.debugname - -class PredicateFamily: - def __init__(self, familyname): - self.familyname = familyname - self.instances = {} - def __getitem__(self, index): - try: - return self.instances[index] - except KeyError: - name = '%s[%r]' % (self.familyname, index) - pred = self.instances[index] = Predicate(name) - return pred - -class ANN: - len = Predicate('len') - listitems = Predicate('listitems') - tupleitem = PredicateFamily('tupleitem') - const = Predicate('const') - type = Predicate('type') - immutable = Predicate('immutable') - instanceattr = PredicateFamily('instanceattr') - - -def debugname(someval, prefix, _seen = {}): - """ return a simple name for a SomeValue. """ - try: - return _seen[id(someval)] - except KeyError: - name = "%s%d" % (prefix, len(_seen)) - _seen[id(someval)] = name - return name - -immutable_types = { - int: 'int', - long: 'long', - tuple: 'tuple', - str: 'str', - bool: 'bool', - slice: 'slice', - types.FunctionType: 'function', - } +An instance of a SomeValue class stands for a Python object that has some +known properties, for example that is known to be a list of non-negative +integers. Each instance can be considered as an object that is only +'partially defined'. Another point of view is that each instance is a +generic element in some specific subset of the set of all objects. + +""" + +# Old terminology still in use here and there: +# SomeValue means one of the SomeXxx classes in this file. +# Cell is an instance of one of these classes. +# +# Think about cells as potato-shaped circles in a diagram: +# ______________________________________________________ +# / SomeObject() \ +# / ___________________________ ______________ \ +# | / SomeInteger(nonneg=False) \____ / SomeString() \ \ +# | / __________________________ \ | | | +# | | / SomeInteger(nonneg=True) \ | | "hello" | | +# | | | 0 42 _________/ | \______________/ | +# | \ -3 \________________/ / | +# \ \ -5 _____/ / +# \ \________________________/ 3.1416 / +# \_____________________________________________________/ +# + + +from pypy.annotation.pairtype import pair + + +class SomeObject: + """The set of all objects. Each instance stands + for an arbitrary object about which nothing is known.""" + knowntype = None + def __eq__(self, other): + return (self.__class__, self.__dict__) == (other.__class__, other.__dict__) + def __ne__(self, other): + return not (self == other) + def contains(self, other): + return pair(self, other).union() == self + +class SomeInteger(SomeObject): + "Stands for an object which is known to be an integer." + knowntype = int + def __init__(self, nonneg=False): + self.nonneg = nonneg + +class SomeBool(SomeInteger): + "Stands for true or false." + knowntype = bool + def __init__(self): + SomeInteger.__init__(nonneg=True) + +class SomeString(SomeObject): + "Stands for an object which is known to be a string." + knowntype = str + +class SomeList(SomeObject): + "Stands for a homogenous list of any length." + knowntype = list + def __init__(self, factories, s_item=SomeObject()): + self.factories = factories + self.s_item = s_item # general enough for any element + +class SomeTuple(SomeObject): + "Stands for a tuple of known length." + knowntype = tuple + def __init__(self, items): + self.items = tuple(items) # tuple of s_xxx elements + +class SomeImpossibleValue(SomeObject): + """The empty set. Instances are placeholders for objects that + will never show up at run-time, e.g. elements of an empty list.""" + + +def immutablevalue(x): + "The most precise SomeValue instance that contains the immutable value x." + if isinstance(bool, type) and isinstance(x, bool): + return SomeBool() + elif isinstance(x, int): + return SomeInteger(nonneg = x>=0) + elif isinstance(x, str): + return SomeString() + elif isinstance(x, tuple): + return SomeTuple(items = [immutablevalue(e) for e in x]) + else: + return SomeObject() + +def valueoftype(t): + "The most precise SomeValue instance that contains all objects of type t." + if isinstance(bool, type) and issubclass(t, bool): + return SomeBool() + elif issubclass(t, int): + return SomeInteger() + elif issubclass(t, str): + return SomeString() + elif issubclass(t, list): + return SomeList(factories={}) + + +# this has the side-effect of registering the binary operations +from pypy.annotation.binaryop import BINARY_OPERATIONS Added: pypy/branch/typeinference/pypy/annotation/pairtype.py ============================================================================== --- (empty file) +++ pypy/branch/typeinference/pypy/annotation/pairtype.py Fri Apr 30 21:03:14 2004 @@ -0,0 +1,130 @@ +""" +XXX A docstring should go here. +""" + +class extendabletype(type): + """A type with a syntax trick: 'class __extend__(t)' actually extends + the definition of 't' instead of creating a new subclass.""" + def __new__(cls, name, bases, dict): + if name == '__extend__': + cls = bases[0] # override data into the existing base + for key, value in dict.items(): + setattr(cls, key, value) + return None + else: + return super(extendabletype, cls).__new__(cls, name, bases, dict) + + +def pair(a, b): + """Return a pair object.""" + tp = pairtype(a.__class__, b.__class__) + return tp((a, b)) # tp is a subclass of tuple + +pairtypecache = {} + +def pairtype(cls1, cls2): + """type(pair(a,b)) is pairtype(a.__class__, b.__class__).""" + try: + pair = pairtypecache[cls1, cls2] + except KeyError: + name = 'pairtype(%s, %s)' % (cls1.__name__, cls2.__name__) + bases1 = [pairtype(base1, cls2) for base1 in cls1.__bases__] + bases2 = [pairtype(cls1, base2) for base2 in cls2.__bases__] + bases = tuple(bases1 + bases2) or (tuple,) # 'tuple': ultimate base + pair = pairtypecache[cls1, cls2] = extendabletype(name, bases, {}) + return pair + + +# ____________________________________________________________ + +if __name__ == '__main__': + from unittest2 import check + + ### Binary operation example + class __extend__(pairtype(int, int)): + def add((x, y)): + return 'integer: %s+%s' % (x, y) + def sub((x, y)): + return 'integer: %s-%s' % (x, y) + + class __extend__(pairtype(bool, bool)): + def add((x, y)): + return 'bool: %s+%s' % (x, y) + + check.equal(pair(3,4).add(), 'integer: 3+4') + check.equal(pair(3,4).sub(), 'integer: 3-4') + check.equal(pair(3,True).add(), 'integer: 3+True') + check.equal(pair(3,True).sub(), 'integer: 3-True') + check.equal(pair(False,4).add(), 'integer: False+4') + check.equal(pair(False,4).sub(), 'integer: False-4') + check.equal(pair(False,True).add(), 'bool: False+True') + check.equal(pair(False,True).sub(), 'integer: False-True') + + ### Operation on built-in types + class MiniPickler: + def __init__(self): + self.data = [] + def emit(self, datum): + self.data.append(datum) + + class __extend__(pairtype(MiniPickler, int)): + def write((pickler, x)): + pickler.emit('I%d' % x) + + class __extend__(pairtype(MiniPickler, str)): + def write((pickler, x)): + pickler.emit('S%s' % x) + + class __extend__(pairtype(MiniPickler, list)): + def write((pickler, x)): + for item in x: + pair(pickler, item).write() + pickler.emit('L%d' % len(x)) + + p = MiniPickler() + pair(p, [1, 2, ['hello', 3]]).write() + check.equal(p.data, ['I1', 'I2', 'Shello', 'I3', 'L2', 'L3']) + + ### Another multimethod example + class Block: + def __init__(self, exit): + self.exit = exit + class Jump: + pass + class Switch: + pass + + class C_Generator: + def __init__(self): + self.lines = [] + + class __extend__(pairtype(C_Generator, Block)): + def emit((gen, block), inputvars): + gen.lines.append("C code for block") + outputvars = inputvars + ['v4', 'v5'] + pair(gen, block.exit).emit(outputvars) + + class __extend__(pairtype(C_Generator, Jump)): + def emit((gen, jump), inputvars): + gen.lines.append("goto xyz") + + class __extend__(pairtype(C_Generator, Switch)): + def emit((gen, jump), inputvars): + gen.lines.append("switch (%s) { ... }" % inputvars[-1]) + + g = C_Generator() + pair(g, Block(Switch())).emit(['v1', 'v2']) + check.equal(g.lines, ["C code for block", + "switch (v5) { ... }"]) + + class Lisp_Generator: + def __init__(self): + self.progn = [] + + class __extend__(pairtype(Lisp_Generator, Block)): + def emit((gen, block), inputvars): + gen.progn.append("(do 'something)") + + g = Lisp_Generator() + pair(g, Block(Switch())).emit(['v1', 'v2']) + check.equal(g.progn, ["(do 'something)"]) Deleted: /pypy/branch/typeinference/pypy/annotation/test/test_annset.py ============================================================================== --- /pypy/branch/typeinference/pypy/annotation/test/test_annset.py Fri Apr 30 21:03:14 2004 +++ (empty file) @@ -1,229 +0,0 @@ - -import autopath -from pypy.tool import testit - -from pypy.annotation.model import SomeValue, ANN, Predicate -from pypy.annotation.annset import AnnotationSet, mostgeneralvalue,impossiblevalue - - -c1,c2,c3,c4 = SomeValue(), SomeValue(), SomeValue(), SomeValue() -c5,c6,c7,c8 = SomeValue(), SomeValue(), SomeValue(), SomeValue() - -def annset(*args, **kwds): - "This constructor is just a convenient hack for the tests." - annset = AnnotationSet() - groups = [] - for a in args: - if isinstance(a, Predicate): - groups.append([a]) - else: - groups[-1].append(a) # hack hack hack - for args in groups: - if len(args) == 2: - args = args + [True] # " " " - annset.set(*args) - if 'links' in kwds: - links = kwds['links'] - for i in range(0, len(links), 2): - if annset.about.get(links[i]) != annset.about.get(links[i+1]): - assert links[i] not in annset.about - about = annset.about[links[i]] = annset.about[links[i+1]] - about.subjects[links[i]] = True - return annset - - -class TestAnnotationSet(testit.IntTestCase): - - def assertSameSet(self, annset1, annset2): - self.assertEquals(repr(annset1), repr(annset2)) - - def assertSameCells(self, annset, firstcell, *cells): - for cell in cells: - self.assert_(annset.isshared(firstcell, cell)) - - def test_trivial(self): - a1 = annset(ANN.len, c1, c2, - ANN.type, c2, int) - a2 = annset(ANN.len, c1, c2, - ANN.type, c2, int) - self.assertSameSet(a1, a2) - - def test_get(self): - a1 = annset(ANN.len, c1, c2, - ANN.type, c2, int) - self.assertEquals(a1.get(ANN.len, c1), c2) - self.assertEquals(a1.get(ANN.len, c2), mostgeneralvalue) - - def test_set(self): - a1 = annset(ANN.len, c1, c2, - ANN.type, c2, int) - a1.set(ANN.len, c2, c3) - self.assertSameSet(a1, - annset(ANN.len, c1, c2, - ANN.type, c2, int, - ANN.len, c2, c3)) - - def test_kill(self): - a1 = annset(ANN.len, c1, c2, - ANN.type, c2, int) - for i in range(2): - a1.kill(ANN.len, c1) - self.assertSameSet(a1, - annset(ANN.type, c2, int)) - - def test_merge_mostgeneralvalue(self): - a1 = annset(ANN.len, c1, c2, - ANN.type, c2, int) - a2 = annset(ANN.len, c1, c2, - ANN.type, c2, int) - # (c3) inter (mostgeneralvalue) == (mostgeneralvalue) - c = a1.merge(c3, mostgeneralvalue) - self.assertEquals(c, mostgeneralvalue) - self.assertSameSet(a1, a2) - - def test_merge_mutable1(self): - a1 = annset(ANN.len, c1, c2, - ANN.len, c3, c2) - a2 = annset(ANN.len, c1, c2, links=[c3,c1]) - # (c1) inter (c3) == (c1 shared with c3) - c = a1.merge(c1, c3) - self.assertSameCells(a1, c, c1, c3) - self.assertSameSet(a1, a2) - - def test_merge_mutable2(self): - a1 = annset(ANN.len, c1, c2, - ANN.len, c3, c2, - ANN.type, c1, list, - ANN.type, c2, str) - a2 = annset(ANN.len, c1, c2, - ANN.type, c2, str, - links=[c3,c1]) - # (c1) inter (c3) == (c1 shared with c3) - c = a1.merge(c1, c3) - self.assertSameCells(a1, c, c1, c3) - self.assertSameSet(a1, a2) - - def test_merge_same_immutables(self): - a1 = annset(ANN.len, c1, c2, - ANN.immutable, c1, - ANN.len, c3, c2, - ANN.immutable, c3) - # (c1) inter (c3) == (c1 and c3) - c = a1.merge(c1, c3) - self.assertSameCells(a1, c, c1, c3) - a2 = annset(ANN.len, c, c2, - ANN.immutable, c, - links=[c1,c,c3,c]) - self.assertSameSet(a1, a2) - - def test_merge_generalize_one_immutable(self): - a1 = annset(ANN.len, c1, c2, - ANN.immutable, c1, - ANN.type, c1, list, - ANN.len, c3, c2, - ANN.immutable, c3, - ANN.type, c2, str) - # (c1) inter (c3) == (c3) - c = a1.merge(c1, c3) - self.assertSameCells(a1, c, c3) - a2 = annset(ANN.len, c1, c2, - ANN.immutable, c1, - ANN.type, c1, list, - ANN.len, c, c2, - ANN.immutable, c, - ANN.type, c2, str, - links=[c3,c]) - self.assertSameSet(a1, a2) - - def test_level2_merge_w_impossible(self): - a1 = annset(ANN.type, c1, list, - ANN.listitems, c1, impossiblevalue, - ANN.type, c2, list, - ANN.listitems, c2, c3, - ANN.type, c3, int) - c = a1.merge(c1,c2) - a2 = annset(ANN.type, c , list, - ANN.listitems, c, c3, - ANN.type, c3, int, - links=[c1,c]) - self.assertSameSet(a1,a2) - - def test_merge_generalize_both_immutables(self): - a1 = annset(ANN.len, c1, c2, - ANN.immutable, c1, - ANN.type, c1, list, - ANN.len, c3, c2, - ANN.immutable, c3, - ANN.type, c3, tuple, - ANN.type, c2, str) - # (c1) inter (c3) == (a more general c) - c = a1.merge(c1, c3) - a2 = annset(ANN.len, c1, c2, - ANN.immutable, c1, - ANN.type, c1, list, - ANN.len, c3, c2, - ANN.immutable, c3, - ANN.type, c3, tuple, - ANN.len, c, c2, - ANN.immutable, c, - ANN.type, c2, str) - self.assertSameSet(a1, a2) - - def test_recursive_merge(self): - a1 = annset(ANN.tupleitem[2], c1, c2, - ANN.immutable, c1, - ANN.type, c2, list, - ANN.listitems, c2, c3, - ANN.type, c3, int, - ANN.immutable, c3, - ANN.tupleitem[2], c5, c6, - ANN.immutable, c5, - ANN.type, c6, list, - ANN.listitems, c6, c7, - ANN.type, c7, float, - ANN.immutable, c7) - c9 = a1.merge(c1, c5) - c10 = a1.get(ANN.tupleitem[2], c9) - c11 = a1.get(ANN.listitems, c10) - self.assertSameCells(a1, c1, c5, c9) - self.assertSameCells(a1, c2, c6, c10) - - a2 = annset(ANN.tupleitem[2], c9, c10, - ANN.immutable, c9, - ANN.type, c10, list, - ANN.listitems, c10, c11, - ANN.immutable, c11, - # old remaining stuff - ANN.type, c3, int, - ANN.immutable, c3, - ANN.type, c7, float, - ANN.immutable, c7, - links=[c1,c9, c5,c9, c2,c10, c6,c10]) - self.assertSameSet(a1, a2) - - def test_settype(self): - a = annset() - a.settype(c1, int) - a.settype(c2, list) - self.assertSameSet(a, - annset(ANN.type, c1, int, - ANN.immutable, c1, - ANN.type, c2, list)) - - def test_copytype(self): - a = annset(ANN.type, c1, int, - ANN.immutable, c1, - ANN.type, c2, list) - a.copytype(c1, c3) - a.copytype(c2, c4) - self.assertSameSet(a, - annset(ANN.type, c1, int, - ANN.immutable, c1, - ANN.type, c2, list, - ANN.type, c3, int, - ANN.immutable, c3, - ANN.type, c4, list)) - - -if __name__ == '__main__': - testit.main() Added: pypy/branch/typeinference/pypy/annotation/test/test_model.py ============================================================================== --- (empty file) +++ pypy/branch/typeinference/pypy/annotation/test/test_model.py Fri Apr 30 21:03:14 2004 @@ -0,0 +1,45 @@ + +import autopath +from pypy.annotation.model import * + + +s1 = SomeObject() +s2 = SomeInteger(nonneg=True) +s3 = SomeInteger(nonneg=False) +s4 = SomeList({}, SomeTuple([SomeInteger(nonneg=True), SomeString()])) +s5 = SomeList({}, SomeTuple([SomeInteger(nonneg=False), SomeString()])) +s6 = SomeImpossibleValue() +slist = [s1,s2,s3,s4,s5,s6] + +def test_equality(): + assert s1 != s2 != s3 != s4 != s5 != s6 + assert s1 == SomeObject() + assert s2 == SomeInteger(nonneg=True) + assert s3 == SomeInteger(nonneg=False) + assert s4 == SomeList({}, SomeTuple([SomeInteger(nonneg=True), SomeString()])) + assert s5 == SomeList({}, SomeTuple([SomeInteger(nonneg=False), SomeString()])) + assert s6 == SomeImpossibleValue() + +def test_contains(): + assert ([(s,t) for s in slist for t in slist if s.contains(t)] == + [(s1,s1), (s1,s2), (s1,s3), (s1,s4), (s1,s5), (s1,s6), + (s2,s2), (s2,s6), + (s3,s2), (s3,s3), (s3,s6), + (s4,s4), (s4,s6), + (s5,s4), (s5,s5), (s5,s6), + (s6,s6)]) + +def test_union(): + assert ([pair(s,t).union() for s in slist for t in slist] == + [s1, s1, s1, s1, s1, s1, + s1, s2, s3, s1, s1, s2, + s1, s3, s3, s1, s1, s3, + s1, s1, s1, s4, s5, s4, + s1, s1, s1, s5, s5, s5, + s1, s2, s3, s4, s5, s6]) + + +if __name__ == '__main__': + for name, value in globals().items(): + if name.startswith('test_'): + value() Modified: pypy/branch/typeinference/pypy/translator/annrpython.py ============================================================================== --- pypy/branch/typeinference/pypy/translator/annrpython.py (original) +++ pypy/branch/typeinference/pypy/translator/annrpython.py Fri Apr 30 21:03:14 2004 @@ -1,9 +1,9 @@ from __future__ import generators from types import FunctionType -from pypy.annotation.model import SomeValue, ANN -from pypy.annotation.annset import AnnotationSet -from pypy.annotation.annset import impossiblevalue, mostgeneralvalue +from pypy.annotation import model as annmodel +from pypy.annotation.model import pair +from pypy.annotation.factory import ListFactory, BlockedInference from pypy.objspace.flow.model import Variable, Constant, UndefinedConstant from pypy.objspace.flow.model import SpaceOperation @@ -11,34 +11,29 @@ class AnnotatorError(Exception): pass -intvalue = SomeValue() -boolvalue = SomeValue() - class RPythonAnnotator: """Block annotator for RPython. See description in doc/transation/annotation.txt.""" def __init__(self, translator=None): - self.heap = AnnotationSet() - self.heap.settype(intvalue, int) - self.heap.settype(boolvalue, bool) self.pendingblocks = [] # list of (block, list-of-SomeValues-args) self.delayedblocks = [] # list of blocked blocks - self.bindings = {} # map Variables/Constants to SomeValues + self.bindings = {} # map Variables to SomeValues self.annotated = {} # set of blocks already seen + self.creationpoints = {} # map SpaceOperations to Factories self.translator = translator - self.userclasses = {} # set of user classes discovered, - # mapped to sets of instance attributes #___ convenience high-level interface __________________ def build_types(self, flowgraph, input_arg_types): """Recursively build annotations about the specific entry point.""" # make input arguments and set their type - inputcells = [SomeValue() for arg in flowgraph.getargs()] - for cell, arg_type in zip(inputcells, input_arg_types): - self.heap.settype(cell, arg_type) + input_arg_types = list(input_arg_types) + nbarg = len(flowgraph.getargs()) + while input_arg_types < nbarg: + input_arg_types.append(object) + inputcells = [annmodel.valueoftype(t) for t in input_arg_types] # register the entry point self.addpendingblock(flowgraph.startblock, inputcells) @@ -52,27 +47,13 @@ elif isinstance(variable, Variable): cell = self.bindings.get(variable) if cell: - cell = self.heap.get(ANN.type, cell) - if cell: - return cell - return None + return cell.knowntype + else: + return None else: raise TypeError, ("Variable or Constant instance expected, " "got %r" % (variable,)) - def getuserclasses(self): - """Return a set of known user classes.""" - return self.userclasses - - def getuserattributes(self, cls): - """Enumerate the attributes of the given user class, as Variable()s.""" - for attr in self.userclasses[cls]: - clscell = self.constant(cls) - attrcell = self.heap.get(ANN.instanceattr[attr], clscell) - v = Variable(name=attr) - self.bindings[v] = attrcell - yield v - #___ medium-level interface ____________________________ @@ -84,9 +65,8 @@ """Process pending blocks until none is left.""" while self.pendingblocks: # XXX don't know if it is better to pop from the head or the tail. - # let's do it breadth-first and pop from the head (oldest first). - # that's more stacklessy. - block, cells = self.pendingblocks.pop(0) + # but suspect from the tail is better in the new Factory model. + block, cells = self.pendingblocks.pop() self.processblock(block, cells) if self.delayedblocks: raise AnnotatorError('%d block(s) are still blocked' % @@ -94,21 +74,18 @@ def binding(self, arg): "Gives the SomeValue corresponding to the given Variable or Constant." - try: + if isinstance(arg, Variable): return self.bindings[arg] - except KeyError: - if not isinstance(arg, Constant): - raise # propagate missing bindings for Variables - if isinstance(arg, UndefinedConstant): - result = impossiblevalue # undefined local variables - else: - result = self.consider_const(arg.value) - self.bindings[arg] = result - return result + elif isinstance(arg, UndefinedConstant): # undefined local variables + return annmodel.SomeImpossibleValue() + elif isinstance(arg, Constant): + return annmodel.immutablevalue(arg.value) + else: + raise TypeError, 'Variable or Constant expected, got %r' % (arg,) def constant(self, value): "Turn a value into a SomeValue with the proper annotations." - return self.binding(Constant(value)) + return annmodel.immutablevalue(arg.value) #___ simplification (should be moved elsewhere?) _______ @@ -166,7 +143,7 @@ self.annotated[block] = True try: self.flowin(block) - except DelayAnnotation: + except BlockedInference: self.annotated[block] = False # failed, hopefully temporarily self.delayedblocks.append(block) else: @@ -190,25 +167,15 @@ def mergeinputargs(self, block, inputcells): # Merge the new 'cells' with each of the block's existing input # variables. - oldcells = [] - newcells = [] - for a, cell2 in zip(block.inputargs, inputcells): - cell1 = self.bindings[a] # old binding - oldcells.append(cell1) - newcells.append(self.heap.merge(cell1, cell2)) + oldcells = [self.binding(a) for a in block.inputargs] + unions = [pair(c1,c2).union() for c1, c2 in zip(oldcells, inputcells)] # if the merged cells changed, we must redo the analysis - #print '** oldcells = ', oldcells - #print '** newcells = ', newcells - for cell1, cell2 in zip(oldcells, newcells): - if not self.heap.isshared(cell1, cell2): - self.bindinputargs(block, newcells) - return + if unions != oldcells: + self.bindinputargs(block, newcells) def flowin(self, block): - self.heap.enter(block, self.reflowpendingblock) for op in block.operations: self.consider_op(op) - self.heap.leave() for link in block.exits: cells = [self.binding(a) for a in link.args] self.addpendingblock(link.target, cells) @@ -218,202 +185,204 @@ def consider_op(self,op): argcells = [self.binding(a) for a in op.args] - consider_meth = getattr(self,'consider_op_'+op.opname, - self.default_consider_op) - resultcell = consider_meth(*argcells) - if resultcell is impossiblevalue: - raise DelayAnnotation # the operation cannot succeed - assert isinstance(resultcell, (SomeValue, type(mostgeneralvalue))) + + if op.opname in annmodel.BINARY_OPERATIONS: + resultcell = getattr(pair(*argcells), op.opname)() + else: + consider_meth = getattr(self,'consider_op_'+op.opname, + self.default_consider_op) + resultcell = consider_meth(*argcells) + if resultcell == annmodel.SomeImpossibleValue(): + raise BlockedInference # the operation cannot succeed + assert isinstance(resultcell, annmodel.SomeObject) assert isinstance(op.result, Variable) self.bindings[op.result] = resultcell # bind resultcell to op.result - def consider_op_setattr(self,obj,attr,newval): - objtype = self.heap.get(ANN.type,obj) - if objtype in self.userclasses: - attr = self.heap.get(ANN.const,attr) - if isinstance(attr, str): - # do we already know about this attribute? - attrdict = self.userclasses[objtype] - clscell = self.constant(objtype) - if attr not in attrdict: - # no -> create it - attrdict[attr] = True - self.heap.set(ANN.instanceattr[attr], clscell, newval) - else: - # yes -> update it - self.heap.generalize(ANN.instanceattr[attr], clscell, newval) - return SomeValue() - - def consider_op_getattr(self,obj,attr): - result = SomeValue() - objtype = self.heap.get(ANN.type,obj) - if objtype in self.userclasses: - attr = self.heap.get(ANN.const,attr) - if isinstance(attr, str): - # do we know something about this attribute? - attrdict = self.userclasses[objtype] - if attr in attrdict: - # yes -> return the current annotation - clscell = self.constant(objtype) - return self.heap.get(ANN.instanceattr[attr], clscell) - return result - - def default_consider_op(self, *args): - return mostgeneralvalue + return annmodel.SomeObject() - def consider_op_add(self, arg1, arg2): - result = SomeValue() - tp = self.heap.checktype - if tp(arg1, int) and tp(arg2, int): - self.heap.settype(result, int) - elif tp(arg1, (int, long)) and tp(arg2, (int, long)): - self.heap.settype(result, long) - if tp(arg1, str) and tp(arg2, str): - self.heap.settype(result, str) - if tp(arg1, list) and tp(arg2, list): - self.heap.settype(result, list) - # XXX propagate information about the type of the elements - return result - - def consider_op_mul(self, arg1, arg2): - result = SomeValue() - tp = self.heap.checktype - if tp(arg1, int) and tp(arg2, int): - self.heap.settype(result, int) - elif tp(arg1, (int, long)) and tp(arg2, (int, long)): - self.heap.settype(result, long) - return result - - def consider_op_inplace_add(self, arg1, arg2): - tp = self.heap.checktype - if tp(arg1, list) and tp(arg2, list): - # Annotations about the items of arg2 are merged with the ones about - # the items of arg1. arg2 is not modified during this operation. - # result is arg1. - self.heap.kill(ANN.len, arg1) - item2 = self.heap.get(ANN.listitems, arg2) - self.heap.generalize(ANN.listitems, arg1, item2) - return arg1 - else: - return self.consider_op_add(arg1, arg2) - def consider_op_sub(self, arg1, arg2): - result = SomeValue() - tp = self.heap.checktype - if tp(arg1, int) and tp(arg2, int): - self.heap.settype(result, int) - elif tp(arg1, (int, long)) and tp(arg2, (int, long)): - self.heap.settype(result, long) - return result - - consider_op_and_ = consider_op_sub # trailing underline - consider_op_mod = consider_op_sub - consider_op_inplace_lshift = consider_op_sub - - def consider_op_is_true(self, arg): - return boolvalue - - consider_op_not_ = consider_op_is_true - - def consider_op_lt(self, arg1, arg2): - return boolvalue - - consider_op_le = consider_op_lt - consider_op_eq = consider_op_lt - consider_op_ne = consider_op_lt - consider_op_gt = consider_op_lt - consider_op_ge = consider_op_lt - - def consider_op_newtuple(self, *args): - result = SomeValue() - self.heap.settype(result, tuple) - self.heap.set(ANN.len, result, len(args)) - for i in range(len(args)): - self.heap.set(ANN.tupleitem[i], result, args[i]) - return result - - def consider_op_newlist(self, *args): - result = SomeValue() - self.heap.settype(result, list) - self.heap.set(ANN.len, result, len(args)) - item_cell = impossiblevalue - for a in args: - item_cell = self.heap.merge(item_cell, a) - self.heap.set(ANN.listitems, result, item_cell) - return result - - def consider_op_newslice(self, *args): - result = SomeValue() - self.heap.settype(result, slice) - return result - - def consider_op_newdict(self, *args): - result = SomeValue() - self.heap.settype(result, dict) - if not args: - self.heap.set(ANN.len, result, 0) - return result - - def consider_op_getitem(self, arg1, arg2): - tp = self.heap.checktype - if tp(arg2, int): - if tp(arg1, tuple): - index = self.heap.get(ANN.const, arg2) - if index is not mostgeneralvalue: - return self.heap.get(ANN.tupleitem[index], arg1) - if tp(arg1, list): - return self.heap.get(ANN.listitems, arg1) - result = SomeValue() - if tp(arg2, slice): - self.heap.copytype(arg1, result) - # XXX copy some information about the items - return result - - def decode_simple_call(self, varargs_cell, varkwds_cell): - nbargs = self.heap.get(ANN.len, varargs_cell) - if nbargs is mostgeneralvalue: - return None - arg_cells = [self.heap.get(ANN.tupleitem[j], varargs_cell) - for j in range(nbargs)] - nbkwds = self.heap.get(ANN.len, varkwds_cell) - if nbkwds != 0: - return None # XXX deal with dictionaries with constant keys - return arg_cells - - def consider_op_call(self, func, varargs, kwargs): - result = SomeValue() - tp = self.heap.checktype - func = self.heap.get(ANN.const, func) - # XXX: generalize this later - if func is range: - self.heap.settype(result, list) - elif func is pow: - args = self.decode_simple_call(varargs, kwargs) - if args is not None and len(args) == 2: - if tp(args[0], int) and tp(args[1], int): - self.heap.settype(result, int) - elif isinstance(func, FunctionType) and self.translator: - args = self.decode_simple_call(varargs, kwargs) - return self.translator.consider_call(self, func, args) - elif isinstance(func,type): - # XXX flow into __init__/__new__ - self.heap.settype(result,func) - if func.__module__ != '__builtin__': - self.userclasses.setdefault(func, {}) - return result - - def consider_const(self, constvalue): - result = SomeValue() - self.heap.set(ANN.const, result, constvalue) - self.heap.settype(result, type(constvalue)) - if isinstance(constvalue, tuple): - pass # XXX say something about the elements - return result +## def consider_op_setattr(self,obj,attr,newval): +## objtype = self.heap.get(ANN.type,obj) +## if objtype in self.userclasses: +## attr = self.heap.get(ANN.const,attr) +## if isinstance(attr, str): +## # do we already know about this attribute? +## attrdict = self.userclasses[objtype] +## clscell = self.constant(objtype) +## if attr not in attrdict: +## # no -> create it +## attrdict[attr] = True +## self.heap.set(ANN.instanceattr[attr], clscell, newval) +## else: +## # yes -> update it +## self.heap.generalize(ANN.instanceattr[attr], clscell, newval) +## return SomeValue() + +## def consider_op_getattr(self,obj,attr): +## result = SomeValue() +## objtype = self.heap.get(ANN.type,obj) +## if objtype in self.userclasses: +## attr = self.heap.get(ANN.const,attr) +## if isinstance(attr, str): +## # do we know something about this attribute? +## attrdict = self.userclasses[objtype] +## if attr in attrdict: +## # yes -> return the current annotation +## clscell = self.constant(objtype) +## return self.heap.get(ANN.instanceattr[attr], clscell) +## return result + +## def consider_op_add(self, arg1, arg2): +## result = SomeValue() +## tp = self.heap.checktype +## if tp(arg1, int) and tp(arg2, int): +## self.heap.settype(result, int) +## elif tp(arg1, (int, long)) and tp(arg2, (int, long)): +## self.heap.settype(result, long) +## if tp(arg1, str) and tp(arg2, str): +## self.heap.settype(result, str) +## if tp(arg1, list) and tp(arg2, list): +## self.heap.settype(result, list) +## # XXX propagate information about the type of the elements +## return result + +## def consider_op_mul(self, arg1, arg2): +## result = SomeValue() +## tp = self.heap.checktype +## if tp(arg1, int) and tp(arg2, int): +## self.heap.settype(result, int) +## elif tp(arg1, (int, long)) and tp(arg2, (int, long)): +## self.heap.settype(result, long) +## return result + +## def consider_op_inplace_add(self, arg1, arg2): +## tp = self.heap.checktype +## if tp(arg1, list) and tp(arg2, list): +## # Annotations about the items of arg2 are merged with the ones about +## # the items of arg1. arg2 is not modified during this operation. +## # result is arg1. +## self.heap.kill(ANN.len, arg1) +## item2 = self.heap.get(ANN.listitems, arg2) +## self.heap.generalize(ANN.listitems, arg1, item2) +## return arg1 +## else: +## return self.consider_op_add(arg1, arg2) + +## def consider_op_sub(self, arg1, arg2): +## result = SomeValue() +## tp = self.heap.checktype +## if tp(arg1, int) and tp(arg2, int): +## self.heap.settype(result, int) +## elif tp(arg1, (int, long)) and tp(arg2, (int, long)): +## self.heap.settype(result, long) +## return result + +## consider_op_and_ = consider_op_sub # trailing underline +## consider_op_mod = consider_op_sub +## consider_op_inplace_lshift = consider_op_sub + +## def consider_op_is_true(self, arg): +## return boolvalue + +## consider_op_not_ = consider_op_is_true + +## def consider_op_lt(self, arg1, arg2): +## return boolvalue + +## consider_op_le = consider_op_lt +## consider_op_eq = consider_op_lt +## consider_op_ne = consider_op_lt +## consider_op_gt = consider_op_lt +## consider_op_ge = consider_op_lt + +## def consider_op_newtuple(self, *args): +## result = SomeValue() +## self.heap.settype(result, tuple) +## self.heap.set(ANN.len, result, len(args)) +## for i in range(len(args)): +## self.heap.set(ANN.tupleitem[i], result, args[i]) +## return result + +## def consider_op_newlist(self, *args): +## result = SomeValue() +## self.heap.settype(result, list) +## self.heap.set(ANN.len, result, len(args)) +## item_cell = impossiblevalue +## for a in args: +## item_cell = self.heap.merge(item_cell, a) +## self.heap.set(ANN.listitems, result, item_cell) +## return result + +## def consider_op_newslice(self, *args): +## result = SomeValue() +## self.heap.settype(result, slice) +## return result + +## def consider_op_newdict(self, *args): +## result = SomeValue() +## self.heap.settype(result, dict) +## if not args: +## self.heap.set(ANN.len, result, 0) +## return result + +## def consider_op_getitem(self, arg1, arg2): +## tp = self.heap.checktype +## if tp(arg2, int): +## if tp(arg1, tuple): +## index = self.heap.get(ANN.const, arg2) +## if index is not mostgeneralvalue: +## return self.heap.get(ANN.tupleitem[index], arg1) +## if tp(arg1, list): +## return self.heap.get(ANN.listitems, arg1) +## result = SomeValue() +## if tp(arg2, slice): +## self.heap.copytype(arg1, result) +## # XXX copy some information about the items +## return result + +## def decode_simple_call(self, varargs_cell, varkwds_cell): +## nbargs = self.heap.get(ANN.len, varargs_cell) +## if nbargs is mostgeneralvalue: +## return None +## arg_cells = [self.heap.get(ANN.tupleitem[j], varargs_cell) +## for j in range(nbargs)] +## nbkwds = self.heap.get(ANN.len, varkwds_cell) +## if nbkwds != 0: +## return None # XXX deal with dictionaries with constant keys +## return arg_cells + +## def consider_op_call(self, func, varargs, kwargs): +## result = SomeValue() +## tp = self.heap.checktype +## func = self.heap.get(ANN.const, func) +## # XXX: generalize this later +## if func is range: +## self.heap.settype(result, list) +## elif func is pow: +## args = self.decode_simple_call(varargs, kwargs) +## if args is not None and len(args) == 2: +## if tp(args[0], int) and tp(args[1], int): +## self.heap.settype(result, int) +## elif isinstance(func, FunctionType) and self.translator: +## args = self.decode_simple_call(varargs, kwargs) +## return self.translator.consider_call(self, func, args) +## elif isinstance(func,type): +## # XXX flow into __init__/__new__ +## self.heap.settype(result,func) +## if func.__module__ != '__builtin__': +## self.userclasses.setdefault(func, {}) +## return result + +## def consider_const(self, constvalue): +## result = SomeValue() +## self.heap.set(ANN.const, result, constvalue) +## self.heap.settype(result, type(constvalue)) +## if isinstance(constvalue, tuple): +## pass # XXX say something about the elements +## return result -class CannotSimplify(Exception): - pass -class DelayAnnotation(Exception): +class CannotSimplify(Exception): pass Modified: pypy/branch/typeinference/pypy/translator/genpyrex.py ============================================================================== --- pypy/branch/typeinference/pypy/translator/genpyrex.py (original) +++ pypy/branch/typeinference/pypy/translator/genpyrex.py Fri Apr 30 21:03:14 2004 @@ -225,8 +225,8 @@ vartype = self.get_type(var) if vartype in (int, bool): prefix = "i_" - elif self.annotator and vartype in self.annotator.getuserclasses(): - prefix = "p_" + #elif self.annotator and vartype in self.annotator.getuserclasses(): + # prefix = "p_" else: prefix = "" return prefix + var.name @@ -235,8 +235,8 @@ vartype = self.get_type(var) if vartype in (int, bool): ctype = "int" - elif self.annotator and vartype in self.annotator.getuserclasses(): - ctype = self.get_classname(vartype) + #elif self.annotator and vartype in self.annotator.getuserclasses(): + # ctype = self.get_classname(vartype) else: ctype = "object" @@ -328,25 +328,24 @@ self.gen_block(block) def globaldeclarations(self): - """Static method to generate the global class declaration for a - group of functions.""" + """Generate the global class declaration for a group of functions.""" if self.annotator: self.lines = [] self.indent = 0 - for cls in self.annotator.getuserclasses(): - self.putline("cdef class %s:" % self.get_classname(cls)) - self.indent += 1 - empty = True - for var in self.annotator.getuserattributes(cls): - vartype, varname = self._paramvardecl(var) - varname = var.name # no 'i_' prefix - self.putline("cdef %s %s" % (vartype, varname)) - empty = False - else: - if empty: - self.putline("pass") - self.indent -= 1 - self.putline("") +## for cls in self.annotator.getuserclasses(): +## self.putline("cdef class %s:" % self.get_classname(cls)) +## self.indent += 1 +## empty = True +## for var in self.annotator.getuserattributes(cls): +## vartype, varname = self._paramvardecl(var) +## varname = var.name # no 'i_' prefix +## self.putline("cdef %s %s" % (vartype, varname)) +## empty = False +## else: +## if empty: +## self.putline("pass") +## self.indent -= 1 +## self.putline("") return '\n'.join(self.lines) else: return '' Modified: pypy/branch/typeinference/pypy/translator/transform.py ============================================================================== --- pypy/branch/typeinference/pypy/translator/transform.py (original) +++ pypy/branch/typeinference/pypy/translator/transform.py Fri Apr 30 21:03:14 2004 @@ -6,8 +6,8 @@ import types from pypy.objspace.flow.model import SpaceOperation -from pypy.annotation.model import SomeValue -from pypy.translator.annrpython import CannotSimplify +#from pypy.annotation.model import SomeValue +#from pypy.translator.annrpython import CannotSimplify # XXX: Lots of duplicated codes. Fix this! Modified: pypy/branch/typeinference/pypy/translator/translator.py ============================================================================== --- pypy/branch/typeinference/pypy/translator/translator.py (original) +++ pypy/branch/typeinference/pypy/translator/translator.py Fri Apr 30 21:03:14 2004 @@ -32,7 +32,6 @@ from pypy.objspace.flow.model import * from pypy.annotation.model import * -from pypy.annotation.annset import * from pypy.translator.annrpython import RPythonAnnotator from pypy.translator.simplify import simplify_graph from pypy.translator.genpyrex import GenPyrex From arigo at codespeak.net Fri Apr 30 21:52:23 2004 From: arigo at codespeak.net (arigo at codespeak.net) Date: Fri, 30 Apr 2004 21:52:23 +0200 (MEST) Subject: [pypy-svn] r4210 - in pypy/branch/typeinference/pypy: annotation translator Message-ID: <20040430195223.397205A245@thoth.codespeak.net> Author: arigo Date: Fri Apr 30 21:52:22 2004 New Revision: 4210 Modified: pypy/branch/typeinference/pypy/annotation/binaryop.py pypy/branch/typeinference/pypy/annotation/factory.py pypy/branch/typeinference/pypy/annotation/model.py pypy/branch/typeinference/pypy/translator/annrpython.py pypy/branch/typeinference/pypy/translator/transform.py Log: More preliminary work, bug fixes. Reflowing seems to work. Modified: pypy/branch/typeinference/pypy/annotation/binaryop.py ============================================================================== --- pypy/branch/typeinference/pypy/annotation/binaryop.py (original) +++ pypy/branch/typeinference/pypy/annotation/binaryop.py Fri Apr 30 21:52:22 2004 @@ -5,6 +5,7 @@ from pypy.annotation.pairtype import pair, pairtype from pypy.annotation.model import SomeObject, SomeInteger, SomeString, SomeList from pypy.annotation.model import SomeTuple, SomeImpossibleValue +from pypy.annotation.factory import NeedGeneralization def setunion(d1, d2): @@ -13,18 +14,22 @@ d.update(d2) return d +def set(it): + "Turn an iterable into a set." + d = {} + for x in it: + d[x] = True + return d + + +BINARY_OPERATIONS = set(['add', 'sub', 'mul', 'getitem', 'setitem', + 'union']) + +def _defaultcase((obj1, obj2), *args): + return SomeObject() -BINARY_OPERATIONS = {'add': True, - 'sub': True, - 'union': True, - } - -class __extend__(pairtype(SomeObject, SomeObject)): - # default case - - for name in BINARY_OPERATIONS: - locals()[name] = lambda *dummy: SomeObject() - del name +for name in BINARY_OPERATIONS: + setattr(pairtype(SomeObject, SomeObject), name, _defaultcase) class __extend__(pairtype(SomeInteger, SomeInteger)): Modified: pypy/branch/typeinference/pypy/annotation/factory.py ============================================================================== --- pypy/branch/typeinference/pypy/annotation/factory.py (original) +++ pypy/branch/typeinference/pypy/annotation/factory.py Fri Apr 30 21:52:22 2004 @@ -7,12 +7,13 @@ """ from pypy.annotation.pairtype import pair -from pypy.annotation.model import SomeImpossibleValue +from pypy.annotation.model import SomeImpossibleValue, SomeList class BlockedInference(Exception): """This exception signals the type inference engine that the situation is currently blocked, and that it should try to progress elsewhere.""" + invalidatefactories = () # factories that need to be invalidated class NeedGeneralization(BlockedInference): """The mutable object s_mutable requires generalization. @@ -22,6 +23,7 @@ BlockedInference.__init__(self, s_mutable, *args) for factory in s_mutable.factories: factory.generalize(*args) + self.invalidatefactories = s_mutable.factories # @@ -29,14 +31,10 @@ # class ListFactory: - - def __init__(self, block): - self.block = block # block containing the list creation op - self.s_item = SomeImpossibleValue() + s_item = SomeImpossibleValue() def create(self): return SomeList(factories = {self: True}, s_item = self.s_item) def generalize(self, s_new_item): self.s_item = pair(self.s_item, s_new_item).union() - self.block.invalidate() Modified: pypy/branch/typeinference/pypy/annotation/model.py ============================================================================== --- pypy/branch/typeinference/pypy/annotation/model.py (original) +++ pypy/branch/typeinference/pypy/annotation/model.py Fri Apr 30 21:52:22 2004 @@ -52,7 +52,7 @@ "Stands for true or false." knowntype = bool def __init__(self): - SomeInteger.__init__(nonneg=True) + SomeInteger.__init__(self, nonneg=True) class SomeString(SomeObject): "Stands for an object which is known to be a string." Modified: pypy/branch/typeinference/pypy/translator/annrpython.py ============================================================================== --- pypy/branch/typeinference/pypy/translator/annrpython.py (original) +++ pypy/branch/typeinference/pypy/translator/annrpython.py Fri Apr 30 21:52:22 2004 @@ -3,7 +3,8 @@ from types import FunctionType from pypy.annotation import model as annmodel from pypy.annotation.model import pair -from pypy.annotation.factory import ListFactory, BlockedInference +from pypy.annotation.factory import ListFactory +from pypy.annotation.factory import BlockedInference, NeedGeneralization from pypy.objspace.flow.model import Variable, Constant, UndefinedConstant from pypy.objspace.flow.model import SpaceOperation @@ -21,7 +22,7 @@ self.delayedblocks = [] # list of blocked blocks self.bindings = {} # map Variables to SomeValues self.annotated = {} # set of blocks already seen - self.creationpoints = {} # map SpaceOperations to Factories + self.creationpoints = {} # map positions-in-blocks to Factories self.translator = translator #___ convenience high-level interface __________________ @@ -143,9 +144,11 @@ self.annotated[block] = True try: self.flowin(block) - except BlockedInference: + except BlockedInference, e: self.annotated[block] = False # failed, hopefully temporarily self.delayedblocks.append(block) + for factory in e.invalidatefactories: + self.reflowpendingblock(factory.block) else: # When flowin succeeds, i.e. when the analysis progress, # we can tentatively re-schedlue the delayed blocks. @@ -171,28 +174,39 @@ unions = [pair(c1,c2).union() for c1, c2 in zip(oldcells, inputcells)] # if the merged cells changed, we must redo the analysis if unions != oldcells: - self.bindinputargs(block, newcells) + self.bindinputargs(block, unions) def flowin(self, block): - for op in block.operations: - self.consider_op(op) + if block.operations: + for i in range(len(block.operations)): + self.curblockpos = block, i + self.consider_op(block.operations[i]) + del self.curblockpos for link in block.exits: cells = [self.binding(a) for a in link.args] self.addpendingblock(link.target, cells) + def getfactory(self, factorycls): + try: + return self.creationpoints[self.curblockpos] + except KeyError: + block = self.curblockpos[0] + factory = factorycls() + factory.block = block + self.creationpoints[self.curblockpos] = factory + return factory + #___ creating the annotations based on operations ______ def consider_op(self,op): argcells = [self.binding(a) for a in op.args] - - if op.opname in annmodel.BINARY_OPERATIONS: - resultcell = getattr(pair(*argcells), op.opname)() - else: - consider_meth = getattr(self,'consider_op_'+op.opname, - self.default_consider_op) - resultcell = consider_meth(*argcells) - if resultcell == annmodel.SomeImpossibleValue(): + consider_meth = getattr(self,'consider_op_'+op.opname, + self.default_consider_op) + resultcell = consider_meth(*argcells) + if resultcell is None: + resultcell = annmodel.SomeImpossibleValue() # no return value + elif resultcell == annmodel.SomeImpossibleValue(): raise BlockedInference # the operation cannot succeed assert isinstance(resultcell, annmodel.SomeObject) assert isinstance(op.result, Variable) @@ -201,6 +215,53 @@ def default_consider_op(self, *args): return annmodel.SomeObject() + # All binary operations + for opname in annmodel.BINARY_OPERATIONS: + exec """ +def consider_op_%s(self, arg1, arg2, *args): + return pair(arg1,arg2).%s(*args) +""" % (opname, opname) + del opname + + def consider_op_newlist(self, *args): + factory = self.getfactory(ListFactory) + for a in args: + factory.generalize(a) + return factory.create() + +## def decode_simple_call(self, varargs_cell, varkwds_cell): +## nbargs = self.heap.get(ANN.len, varargs_cell) +## if nbargs is mostgeneralvalue: +## return None +## arg_cells = [self.heap.get(ANN.tupleitem[j], varargs_cell) +## for j in range(nbargs)] +## nbkwds = self.heap.get(ANN.len, varkwds_cell) +## if nbkwds != 0: +## return None # XXX deal with dictionaries with constant keys +## return arg_cells + +## def consider_op_call(self, func, varargs, kwargs): +## ... +## func = self.heap.get(ANN.const, func) + +## # XXX: generalize this later +## if func is range: +## self.heap.settype(result, list) +## elif func is pow: +## args = self.decode_simple_call(varargs, kwargs) +## if args is not None and len(args) == 2: +## if tp(args[0], int) and tp(args[1], int): +## self.heap.settype(result, int) +## elif isinstance(func, FunctionType) and self.translator: +## args = self.decode_simple_call(varargs, kwargs) +## return self.translator.consider_call(self, func, args) +## elif isinstance(func,type): +## # XXX flow into __init__/__new__ +## self.heap.settype(result,func) +## if func.__module__ != '__builtin__': +## self.userclasses.setdefault(func, {}) +## return result + ## def consider_op_setattr(self,obj,attr,newval): ## objtype = self.heap.get(ANN.type,obj) Modified: pypy/branch/typeinference/pypy/translator/transform.py ============================================================================== --- pypy/branch/typeinference/pypy/translator/transform.py (original) +++ pypy/branch/typeinference/pypy/translator/transform.py Fri Apr 30 21:52:22 2004 @@ -6,8 +6,7 @@ import types from pypy.objspace.flow.model import SpaceOperation -#from pypy.annotation.model import SomeValue -#from pypy.translator.annrpython import CannotSimplify +from pypy.translator.annrpython import CannotSimplify # XXX: Lots of duplicated codes. Fix this!