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

arigo at codespeak.net arigo at codespeak.net
Wed Jul 25 20:50:44 CEST 2007

Author: arigo
Date: Wed Jul 25 20:50:43 2007
New Revision: 45331

Some reshuffling of the first few slides of the PyPy part.

Modified: pypy/extradoc/talk/dyla2007/talk.tex
--- pypy/extradoc/talk/dyla2007/talk.tex	(original)
+++ pypy/extradoc/talk/dyla2007/talk.tex	Wed Jul 25 20:50:43 2007
@@ -275,16 +275,27 @@
   \frametitle{PyPy's Approach to VM Construction}
+  \emph{Goal: achieve flexibility, simplicity and performance together}
-    Goal: achieve flexibility, simplicity and performance all at one
-  \item
     Approach: auto-generate VMs from high-level descriptions of the language
-    ... using meta-programming techniques and aspects (in the original sense)
+    ... using meta-programming techniques and \emph{aspects}
+  \item
+    high-level description: an interpreter written in a high-level language
+  \item
+    ... which we translate (i.e.\ compile) to VMs running on top of various
+    targets, like C/Posix, CLR, JVM
+  \end{itemize}
+  \frametitle{PyPy}
+  \begin{itemize}
-    high-level description of the language done by writing an interpreter in
-    RPython
+    PyPy = Python interpreter written in RPython + translation toolchain
+    for RPython
@@ -296,6 +307,9 @@
       subset chosen in such a way that type-inference can be performed
       still a high-level language (unlike SLang or Prescheme)
+    \item
+      ...really a subset, can't give a small example of code that
+      doesn't just look like Python :-)
@@ -304,20 +318,24 @@
   \frametitle{Auto-generating VMs}
-    interpreters written in RPython can be translated to various targets:
-    C/Posix, CLR, JVM
+    high-level source: early design decisions not necessary
+  \item
+    we need a custom \emph{translation toolchain} to compile the interpreter
+    to a full VM
-    VMs generated by a flexible translation toolchain (really a compiler)
+    many aspects of the final VM are orthogonal from the interpreter source:
+    they are inserted during translation
+  \item
+    ``monads'', with more ad-hoc control
+  \pause
-    Translation Aspects}
+    Examples}
-      the translation toolchain weaves in various aspect into the generated VM
-    \item
-      examples: GC strategy, threading model
+      Garbage Collection strategy
-      early design decisions not necessary
+      Threading models (e.g.\ coroutines with CPS...)
       non-trivial translation aspect: auto-generating a dynamic compiler from
       the interpreter % XXX maybe we really want to write more about this
@@ -329,7 +347,7 @@
   \frametitle{Good Points of the Approach}
-    dynamic languages can implemented in a high level language
+    dynamic languages can be implemented in a high level language
     doing this separates high-level from low-level concerns

More information about the Pypy-commit mailing list