PyPy's Approach to Virtual Machine Construction
Armin Rigo and Samuele Pedroni

Abstract:

The PyPy project seeks to prove both on a research and a practical level the feasibility of constructing a virtual machine (VM) for a dynamic language in a dynamic language - in this case, Python. The aim is to translate (i.e. compile) the VM to arbitrary target environments, ranging in level from C/Posix to Smalltalk/Squeak via Java and CLI/.NET, while still being of reasonable efficiency within these environments.A key tool to achieve this goal is the systematic reuse of the Python language as a system programming language at various levels of our architecture and translation process. For each level, we design a corresponding type system and apply a generic type inference engine - for example, the garbage collector is written in a style that manipulates simulated pointer and address objects, and when translated to C these operations become C-level pointer and address instructions.

Published:

"PyPy's Approach to Virtual Machine Construction"
Armin Rigo and Samuele Pedroni.
Dynamic Languages Symposium (DLS'06) , Portland, Oregon, October 2006.

Download:

Paper:

BibTeX Entry:

@inproceedings{1176753,
 author = {Rigo, Armin and Pedroni, Samuele},
 title = {PyPy's approach to virtual machine construction},
 booktitle = {OOPSLA '06: Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications},
 year = {2006},
 isbn = {1-59593-491-X},
 pages = {944--953},
 location = {Portland, Oregon, USA},
 doi = {http://doi.acm.org/10.1145/1176617.1176753},
 publisher = {ACM},
 address = {New York, NY, USA},
 }

Valid CSS! Valid HTML 4.01!