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

hpk at codespeak.net hpk at codespeak.net
Wed Nov 30 14:01:52 CET 2005


Author: hpk
Date: Wed Nov 30 14:01:51 2005
New Revision: 20432

Modified:
   pypy/dist/pypy/doc/architecture.txt
Log:
refined / clarified the "Meta Goals" (formerly "holy goal") section



Modified: pypy/dist/pypy/doc/architecture.txt
==============================================================================
--- pypy/dist/pypy/doc/architecture.txt	(original)
+++ pypy/dist/pypy/doc/architecture.txt	Wed Nov 30 14:01:51 2005
@@ -51,8 +51,8 @@
 .. _Stackless: http://stackless.com 
 
 
-PyPy - the Holy Goal
-====================
+PyPy - Meta Goals 
+========================
 
 PyPy is not only about writing another Python interpreter.
 Traditionally, interpreters are written in some target platform language
@@ -61,12 +61,12 @@
 goals of the "all-encompassing" environments, like the .NET framework
 and to some extent the Java virtual machine, is to provide standardized
 and higher level functionalities to language implementors.  This reduces
-the burden of having to write and maintain many interpreters (or
-compilers).
+the burden of having to write and maintain many interpreters or
+compilers.
 
 PyPy is experimenting with a different approach.  We are not writing a
 Python interpreter for a specific target platform.  We have written a
-Python interpreter in Python, without any reference to low-level
+Python interpreter in Python, without many references to low-level
 details.  (Because of the nature of Python, this is already a
 complicated task, although not as much as writing it -- say -- in C.)
 Then we use this as a "language specification" and manipulate it to
@@ -84,11 +84,12 @@
 well, and we are working on targeting higher-level environments like
 Java and Squeak.
 
-Thus we can argue that the PyPy project's central component is not its
-interpreter, but its configurable translator.  We think it is a good way
-to avoid writing ``n * m * o`` interpreters for ``n`` dynamic languages
-and ``m`` platforms with ``o`` crucial design decisions.  In PyPy any
-one of these can be changed independently:
+In some senses, PyPy project's central component is not its
+interpreter implementation, but its configurable translator.
+We think it provides a good way to avoid writing ``n * m * o``
+interpreters for ``n`` dynamic languages and ``m`` platforms
+with ``o`` crucial design decisions.  PyPy aims at having any
+one of these parameters changeable independently from each other:
 
 * we can modify or replace the language we interpret and just regenerate
   a concrete interpreter for each target;
@@ -98,18 +99,17 @@
 * we can tweak the translation process to produce low-level code based
   on different models and tradeoffs.
 
-By contrast, a standardized target environment -- say .NET -- just
-enforces ``m=1`` as far as it's concerned.  It also helps making ``o`` a
+By contrast, a standardized target environment -- say .NET -- 
+enforces ``m=1`` as far as it's concerned.  This helps making ``o`` a
 bit smaller by providing a higher-level base to build upon.  Still,
-speaking at least for myself (Armin), I believe that trying to enforce
-the use of one common environment is not necessary (and a bad idea in
-the first place).  PyPy's goal is to give weight to this claim (at least
-as far as language implementation is concerned), by showing an approach
+we believe that enforcing the use of one common environment 
+is not necessary.  PyPy's goal is to give weight to this claim - at least 
+as far as language implementation is concerned - showing an approach
 to the ``n * m * o`` problem that does not rely on standardization.
 
 This is the "meta-goal"; a more concrete goal worth mentioning at this
 point is that language specifications can be used to generate cool stuff
-in addition to traditional interpreters -- e.g. JITs.
+in addition to traditional interpreters -- e.g. Just-In-Time Compilers. 
 
 
 Higher level picture



More information about the Pypy-commit mailing list