Can someone explain to me how an interpreter written in Python works ? Has it become bootstrapped at some stage such that the entire interpreter is written in restricted Python which is now translated to C and compiled ?
Yes, actually. Exactly that. They wrote the interpreter in RPython (running over CPython), then wrote an RPython to C compiler in RPython (again on CPython), and then compiled the interpreter using the compiler.
Someone correct me if I'm wrong, though.