[pypy-svn] r43578 - pypy/extradoc/talk/dyla2007

arigo at codespeak.net arigo at codespeak.net
Wed May 23 17:24:33 CEST 2007


Author: arigo
Date: Wed May 23 17:24:33 2007
New Revision: 43578

Modified:
   pypy/extradoc/talk/dyla2007/dyla.txt
Log:
Finished the introduction.


Modified: pypy/extradoc/talk/dyla2007/dyla.txt
==============================================================================
--- pypy/extradoc/talk/dyla2007/dyla.txt	(original)
+++ pypy/extradoc/talk/dyla2007/dyla.txt	Wed May 23 17:24:33 2007
@@ -68,10 +68,33 @@
 ----------------------------------------------------
 
 The question is thus how the increased benefits of reusing
-object-oriented virtual machines (OO VM) can be balanced against the
+object-oriented virtual machines (OO VMs) can be balanced against the
 fact that this introduces new implementations which may split the total
-effort of the community in pieces, and get increasingly
+effort of the community in pieces that get increasingly
 resource-consuming to keep in sync with each other.
 
-Standardizing on one OO VM would further increase interoperability
-and avoid the division-of-efforts issue. (to be continued)
+Standardizing on one OO VM would further increase interoperability and
+avoid the division-of-efforts issue.  In our opinion, though, a single
+OO VM for everybody is not a practical idea; we consider the loss of
+diversity to be more a problem than a solution, and any single OO VM
+comes with limitations and trade-offs that may not be optimal for every
+use case.
+
+The argument we will make in the present paper is that it is possible to
+benefit from and integrate with OO VMs while keeping the dynamic
+language implemented by a single, simple source code base.  The idea is
+to write an interpreter for that language in another sufficiently
+high-level but less dynamic language.  This interpreter plays the role
+of a specification for the dynamic language.  With a good enough
+translation toolchain we can then generate whole virtual machines from
+this specification - either full custom VMs for C-level operating
+systems, or layers on top of various OO VMs.  In other words,
+metaprogramming techniques can be used to successfully replace a
+foreseeable one-VM-fits-all standardization attempt.
+
+The argument boils down to: VMs for dynamic languages should not be
+written by hand!  The justification is based on the successful
+completion of the PyPy project, which proves that the approach is
+feasible in practice.  Just as importantly, it also brings new insights
+and concrete benefits in term of flexibility and performance that go
+beyond the state of the art.


More information about the pypy-svn mailing list