[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