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

hpk at codespeak.net hpk at codespeak.net
Wed Mar 31 17:50:22 CEST 2004


Author: hpk
Date: Wed Mar 31 17:50:21 2004
New Revision: 3566

Modified:
   pypy/trunk/doc/funding/B6.0_detailed_implementation.txt
Log:
- reworked WP09 and WP10 references in B6.0 

- added some examples to explain what can be expected
  from carrying out WP09/WP10 

- still missing are the references to Mozart, aosd.net and
  citeseer that Nicolas mentioned in issue 42. 

- this was done on a joint session from Armin, Samuele and me

PLEASE CHECK, especially Alastair and Nico, that what we wrote
works for you.  And please just correct and extend it as you deem
appropriate. 


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	Wed Mar 31 17:50:21 2004
@@ -282,9 +282,9 @@
   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. It would also provide an essential
-  starting point for WP10_, described below.
-
+  flexibility we achieved in Phase 1. Similarily, WP10_ will experiment with
+  OO concepts not originally present in Python, like aspect-oriented
+  programming and design-by-contract.
 
 Phase 3
 -------
@@ -382,16 +382,37 @@
 Language-level extensions
 +++++++++++++++++++++++++
 
-WP10_ will base itself on the language extensions developed in WP09_.
+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
-programming languages. We will therefore exploit the optimisations in the
+programming languages. We will therefore exploit the architecture and the 
+optimisations of the
 PyPy implementation and the constructs for constraints and search to
 enhance the object model, thus offering in Python what can currently only
-be found in other object-oriented languages. In particular, we will offer
-the ability to compose program functionality with aspects and to design
-object-oriented programs through contracts.
+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
+mecanisms.  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 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.
+
 
 Interpreter adaptations
 +++++++++++++++++++++++


More information about the Pypy-commit mailing list