A Python Interpreter Written in Rust
It's a naive interpreter. The source is parsed into a tree and then flattened into byte code. All values are stored in PyObjectPayload structures. Each operation has a function. Here's "hex":<p><pre><code>    fn builtin_hex(vm: &mut VirtualMachine, args: PyFuncArgs) -> PyResult {
        arg_check!(vm, args, required = [(number, Some(vm.ctx.int_type()))]);

        let n = objint::get_value(number);
        let s = if n.is_negative() {
            format!("-0x{:x}", n.abs())
        } else {
            format!("0x{:x}", n)
        };

        Ok(vm.new_str(s))
    }
</code></pre>
There's a big dispatch table, generated at compile time, and an interpreter loop. Just like you'd expect. It's useful if you happen to need a Python implementation to embed in something and want something cleaner than CPython. Probably slower, though.