We present our first self-contained Python virtual machine that uses parts of itself to translate itself to low level languages ("the Muenchhausen approach"). The PyPy approach could solve problems at language/interpreter-level that formerly required complex frameworkish solutions at user-level. PyPy is a reimplementation of Python written in Python itself, flexible and easy to experiment with. Our long-term goals are to target a large variety of platforms, small and large, by adapting the compiler toolsuite we developed to produce custom Python versions. Platform, Memory and Threading models will become aspects of the translation process - as opposed to encoding low level details into a language implementation itself. Basically, we think it's a good way to avoid writing n x m x o interpreters for n dynamic languages and m platforms with o crucial design decisions. In PyPy any one of these can be changed independently. We are going to briefly describe the concepts of object spaces, abstract interpretation and translation aspects and how they led us to a first self-contained very compliant Python implementation in August 2005, completely independent from the current mainstream CPython implementation. We go through a translation example of a Python program with control-flow-graphs and the according translated lowlevel C and LLVM (Low level Virtual Machine) code. We'll also try to relate PyPy's architectural concepts (known roughly for 2-3 years now) to similar upcoming concepts in e.g. pugs/Perl 6 development and we'll give an outlook on our starting Just-In-Time Compiler efforts and approaches. Lastly, we intend to discuss experimental new language/interpreter-level solutions to long-standing problems such as distributed computing, persistence and security/sandboxing. Development of PyPy is partly funded by the European Union during the 6th Research Framework programme.
Secdocs is a project aimed to index high-quality IT security and hacking documents. These are fetched from multiple data sources: events, conferences and generally from interwebs.
Serving 8166 documents and 531.0 GB of hacking knowledge, indexed from 2419 authors from 163 security conferences.