Description
I will show a prototype of a Python interpreter written in entirely in Python itself (that isn't Pypy).
The goal is to have simpler internals to allow experimenting with changes to the language more easily. This interpreter has a small core with much of the library modifiable at run time for quickly testing changes. This differs from Pypy that aimed for full Python compatibility and speed (from JIT compilation). I will show some of the interesting things that you can do with this interpreter.
This interpreter has two parts: a parser to transform source to Abstract Syntax Tree and a runner for traversing this tree. I will give an overview of how both part work and discuss some challenges encountered and their solution.
This interpreter makes use of very few libraries, and only those included with CPython.
This project is looking for members to discuss ways of simplifying parts of the interpreter (among other things).
Montréal-Python 68: Wysiwyg Xylophone https://montrealpython.org/2017/11/mp68/