[pypy-svn] rev 1961 - pypy/trunk/doc/funding

pedronis at codespeak.net pedronis at codespeak.net
Wed Oct 15 14:31:40 CEST 2003


Author: pedronis
Date: Wed Oct 15 14:31:39 2003
New Revision: 1961

Modified:
   pypy/trunk/doc/funding/B1.0_objectives.txt
Log:
moved paras around. The AOP reference is the explanation of the indirectness thing,
added minimal concrete example of what we really mean.


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	Wed Oct 15 14:31:39 2003
@@ -73,16 +73,11 @@
 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.
 
-.. [*] 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
-   minorily of the tests (less than 10%).
-
 Current State of The Art
 ------------------------------
 
@@ -179,30 +174,34 @@
 (Python). We plan to exploit the flexibility and abstraction gained by
 using the VHLL and -- most importantly -- the indirectness of translation,
 in order to weave aspect such as memory management, object layout,
-threading model etc. at translation time.
+threading model etc. at translation time. 
+
+Many of these aspects are really cross-cutting concerns in the
+original Aspect Oriented Programming (AOP) sense. E.g. we expect to
+code addition between Python integers in high-level way independent
+memory management and of a concrete unboxing implementation. In
+general our approach relates to the seminal AOP ideas in [KLM97]_,
+although they have not been used on interpreters for large practical
+languages. The subset of Python in which we express the core
+interpreter and Object Spaces is the component language in the
+terminology of the paper, while the translator is a weaver.  For
+describing aspects and at system definition time we will be able to
+use the full dynamism of Python.
 
 In general we will explore for each feature and extension how to best
 implement it by separating concerns between OO-customized Object
 Spaces, other modules also translated, or the pluggable behavior of
 the translation itself.
 
-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 those in an interpreter loop to be also
+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 those in an interpreter loop to be also
 translated or to implement them as aspects of the translation process,
 for example, producing continuation-passing code.
 
-Many of these aspects are really cross-cutting concerns in the
-original Aspect Oriented Programming (AOP) sense. In general our approach
-relates to the seminal AOP ideas in [KLM97]_, although they have not been
-used on interpreters for large practical languages. The subset of
-Python in which we express the core interpreter and Object Spaces is
-the component language in the terminology of the paper, while the
-translator is a weaver.  For describing aspects and at system
-definition time we will be able to use the full dynamism of Python.
-
 For debugging and comprehensibility we expect the core interpreter and
 Object Spaces to be runnable as a normal Python program on the
 reference CPython interpreter.
@@ -240,20 +239,64 @@
 extensions.
 
 
-----------------------------------------------
+References:
+
+.. [S03] Gregory Sullivan et. al., "Dynamic Native Optimization of Native 
+   Interpreters". IVME 03. 2003.   http://www.ai.mit.edu/~gregs/dynamorio.html
+
+.. file = ivme03.pdf
+
+.. [LHJ95] Sheng Liang, Paul Hudak and Mark Jones. "Monad Transformers
+   and Modular Interpreters". 22nd ACM Symposium on Principles of Programming
+   Languages (POPL'95). January 1995.
+   http://java.sun.com/people/sl/papers/popl95.ps.gz
+
+.. file = popl95.ps.gz
+
+.. [H98] Paul Hudak. "Modular Domain Specific Languages and Tools". ICSR 98. 
+   1998.   http://haskell.org/frp/dsl.ps
+
+.. file = dsl.ps.gz
 
-**References**
+.. [RFSLE00] Alastair Reid, Matthew Flatt, Leigh Stoller, Jay Lepreau, and Eric Eide,
+   "Knit: Component Composition for Systems Software", 
+   in Proceedings of the Fourth Symposium on Operating Systems Design and Implementation OSDI'2000, 2000.
+   http://www.cs.utah.edu/flux/papers/knit-osdi00.pdf
+
+.. [K97] Richard Kelsey, "Pre-Scheme: A Scheme Dialect for Systems 
+   Programming".1997.   http://citeseer.nj.nec.com/kelsey97prescheme.html
+
+.. file = kelsey97prescheme.pdf
+
+.. [IKM97] Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and
+   Alan Kay.  "Back to the future: The story of Squeak, A practical
+   Smalltalk written in itself." In Proceedings OOPSLA'97, pages
+   318--326, November 1997.
+   ftp://st.cs.uiuc.edu/Smalltalk/Squeak/docs/OOPSLA.Squeak.html
+
+.. file = OOPSLA.Squeak.htm 
 
 .. [A03] John Aycock, "A Brief History of
    Just-In-Time", ACM Computing Surveys 35, 2 (June 2003), pp. 97-113.
 
 .. file = jit-history.pdf
 
+.. [WAU99] Mario Wolczko, Ole Agesen, David Ungar, "Towards a
+   Universal Implementation Substrate for Object-Oriented
+   Languages",OOPSLA 99 workshop on Simplicity, Performance and
+   Portability in Virtual Machine Design, OOPSLA '99, Denver, CO, Nov
+   2, 1999.
+   http://research.sun.com/research/kanban/oopsla-vm-wkshp.pdf
+
+.. file = oopsla-vm-wkshp.pdf
 
 .. [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.
    http://citeseer.nj.nec.com/arnold00adaptive.html
 
+.. [R03] Armin Rigo, http://psyco.sourceforge.net
+
+.. file = psycoguide.ps.gz
 
 .. [APJ03] John Aycock and David Pereira and Georges Jodoin, 
    "UCPy: Reverse-Engineering Python", PyCon DC 2003, 9pp.
@@ -261,13 +304,6 @@
 
 .. file = ucpy-reverse-engineering-python.pdf
 
-
-.. [H98] Paul Hudak. "Modular Domain Specific Languages and Tools". ICSR 98. 
-   1998.   http://haskell.org/frp/dsl.ps
-
-.. file = dsl.ps.gz
-
-
 .. [HCU91] Urs Hölzle, Craig Chambers, and David Ungar,
    "Optimizing Dynamically-Typed Object-Oriented Languages with Polymorphic
    Inline Caches", ECOOP'91 Conference Proceedings, Geneva, 1991. Published
@@ -277,7 +313,6 @@
 
 .. file = hlzle91optimizing.ps.gz
 
-
 .. [HU94] Urs Hölzle, David Ungar,
    "Reconciling Responsiveness with Performance in Pure Object-Oriented 
    Languages",   PLDI '94 and OOPSLA '94
@@ -285,60 +320,9 @@
 
 .. file = reconciling-responsiveness-with-performance.pdf
 
-
-.. [IKM97] Dan Ingalls, Ted Kaehler, John Maloney, Scott Wallace, and
-   Alan Kay.  "Back to the future: The story of Squeak, A practical
-   Smalltalk written in itself." In Proceedings OOPSLA'97, pages
-   318--326, November 1997.
-   ftp://st.cs.uiuc.edu/Smalltalk/Squeak/docs/OOPSLA.Squeak.html
-
-.. file = OOPSLA.Squeak.htm 
-
-
-.. [K97] Richard Kelsey, "Pre-Scheme: A Scheme Dialect for Systems 
-   Programming".1997.   http://citeseer.nj.nec.com/kelsey97prescheme.html
-
-.. file = kelsey97prescheme.pdf
-
-
 .. [KLM97] Gregor Kiczales and John Lamping and
    Anurag Menhdhekar and Chris Maeda and Cristina Lopes and Jean-Marc
    Loingtier and John Irwin, "Aspect-Oriented Programming", ECOOP'97
    http://www2.parc.com/csl/groups/sda/publications/papers/Kiczales-ECOOP97/for-web.pdf
 
 .. file = kiczales97aspectoriented.pdf
-
-
-.. [LHJ95] Sheng Liang, Paul Hudak and Mark Jones. "Monad Transformers
-   and Modular Interpreters". 22nd ACM Symposium on Principles of Programming
-   Languages (POPL'95). January 1995.
-   http://java.sun.com/people/sl/papers/popl95.ps.gz
-
-.. file = popl95.ps.gz
-
-
-.. [R03] Armin Rigo, http://psyco.sourceforge.net
-
-.. file = psycoguide.ps.gz
-
-
-.. [RFSLE00] Alastair Reid, Matthew Flatt, Leigh Stoller, Jay Lepreau, and Eric Eide,
-   "Knit: Component Composition for Systems Software", 
-   in Proceedings of the Fourth Symposium on Operating Systems Design and Implementation OSDI'2000, 2000.
-   http://www.cs.utah.edu/flux/papers/knit-osdi00.pdf
-
-
-.. [S03] Gregory Sullivan et. al., "Dynamic Native Optimization of Native 
-   Interpreters". IVME 03. 2003.   http://www.ai.mit.edu/~gregs/dynamorio.html
-
-.. file = ivme03.pdf
-
-
-.. [WAU99] Mario Wolczko, Ole Agesen, David Ungar, "Towards a
-   Universal Implementation Substrate for Object-Oriented
-   Languages",OOPSLA 99 workshop on Simplicity, Performance and
-   Portability in Virtual Machine Design, OOPSLA '99, Denver, CO, Nov
-   2, 1999.
-   http://research.sun.com/research/kanban/oopsla-vm-wkshp.pdf
-
-.. file = oopsla-vm-wkshp.pdf


More information about the Pypy-commit mailing list