While I use SSA, it’s not complete... my approach is pragmatic. For loops, each iteration generates new SSA versions of variables; at block end, they merge automatically, implicitly resolving phi nodes. This seemed simpler and safer than using pointers, and I’m applying a similar logic to objects.
Compared to RustPython, my focus is on binary size and speed rather than full CPython compatibility. My goal is to push Python to the frontend efficiently, for example, I plan to add an unsafe method to share a memory pool between JS and Python, allowing near-native DOM manipulation without serialization overhead.
Beyond parsing Python syntax (handled well by the lexer and parser), I aim to eventually support Pip and Rust’s Cargo libraries (first Cargo). I have a plan to compile C code while avoiding Python’s PyObject layout, enabling future library compatibility in this lightweight runtime.
Thanks! And happy to connect in the future :).