[pypy-svn] r41446 - pypy/dist/pypy/doc

mwh at codespeak.net mwh at codespeak.net
Tue Mar 27 11:50:09 CEST 2007


Author: mwh
Date: Tue Mar 27 11:50:08 2007
New Revision: 41446

Modified:
   pypy/dist/pypy/doc/new-architecture.txt
Log:
an idea for YA rewrite of the mission statement, and a language review up to
but not including the section about the translation process.


Modified: pypy/dist/pypy/doc/new-architecture.txt
==============================================================================
--- pypy/dist/pypy/doc/new-architecture.txt	(original)
+++ pypy/dist/pypy/doc/new-architecture.txt	Tue Mar 27 11:50:08 2007
@@ -34,6 +34,28 @@
    change, generating complete VMs, and the proof that it's really not
    only for Python because we have other interpreters already...
 
+.. here's mwh's rewrite:
+
+We aim to provide:
+
+ * a common translation and support framework for producing
+   implementations of dynamic languages, emphasising a clean
+   separation between language specification and implementation
+   aspects.
+
+ * a compliant and fast implementation of the Python Language using
+   the above framework to enable new advanced features without having
+   to encode low level details into it.
+
+By separating concerns in this way, we intend for our implementation
+of Python - and other dynamic languages, such as Prolog and
+JavaScript - to become robust against almost all implementation
+decisions, including target platform, memory and threading models,
+optimizations applied, up to to the point of being able to
+automatically *generate* Just-in-Time compilers for dynamic languages.
+
+Conversely, our implementation techniques, including the JIT compiler,
+should become robust against changes in the languages implementated.
 
 High Level Goals
 =============================
@@ -51,7 +73,7 @@
 
 PyPy is experimenting with a more ambitious approach.  We are using a
 subset of a VHLL language, called RPython, to specify languages
-without many references and dependencies to lower level details,
+with few references to and dependencies on lower level details,
 leaving it to the translation framework to add these as translation
 aspects and produce custom implementations for particular feature
 and platform configurations.  
@@ -69,8 +91,7 @@
   platform specific code based on different models and trade-offs;
 
 * ``p``: write new translator back-ends to target 
-  physical and virtual platforms.
-
+  different physical and virtual platforms.
 
 By contrast, a standardized target environment - say .NET -
 enforces ``p=1`` as far as it's concerned.  This helps making ``o`` a
@@ -82,7 +103,7 @@
 
 Particularly, we set ourselves the goal to *generate
 Just-In-Time Compilers* in addition to traditional
-Interpreter implementations - an area of language
+interpreted implementations - an area of language
 implementation that is commonly considered very challenging
 because of the involved complexity. 
 
@@ -92,7 +113,7 @@
 
 Our goal is to provide a full featured, customizable and fast Python
 implementation, written in a subset of Python itself, working on and interacting 
-with a large variety of platforms and allowing to quickly introduce 
+with a large variety of platforms and allowing the quick introduction of
 new advanced language features. 
 
 The architecture and abstractions of PyPy's "Python language specification" 
@@ -161,6 +182,10 @@
 objects.  Using a special object space is also an important technique
 for our translation process.
 
+.. XXX there's something about the middle sentence of the above
+   paragraph that i don't like -- maybe it's just that "different
+   behaviours" reads strangely to me.
+
 .. _`bytecode evaluator`: interpreter.html
 .. _`standard object space`: objspace.html#the-standard-object-space
 .. _`object spaces`: objspace.html



More information about the Pypy-commit mailing list