Table of Contents for Programming Languages: a survey
The PyPy? project has two goals (1) a reimplementation of Python in RPython, (2) to be a generic toolkit for programming language implementation based on RPython. This section is only about (2). For (1), see Implementation Case Studies. For RPython considered as a language in itself, see RPython.
RPython is a restricted subset of Python, with restrictions on dynamic typing, reflection, and metaprogramming to enable type inference at compile time.
PyPy? is also a compiler for RPython, which adds in JIT analysis. The RPython compiler is written in Python.
Then the PyPy? Python interpreter is written in a mixture of Python (for slow initialization) and RPython (for the fast part) (i think?). This way the JIT analysis is applied to the result. I think? Not sure I understand.
I think it provides an extension API called CPyExt?, not sure though (later: now i hear that Cffi is what's recommended).
RPython:
Opinions:
" masklinn 5 hours ago
link |
The GIL is in PyPy?, not in RPython, nothing precludes writing a GIL-less RPython-based VM.
However RPython is not thread-safe and the GC it provides is not thread-aware, so you'd have to provide your own thread-aware GC (or a big GC lock) " -- https://news.ycombinator.com/item?id=8996338