flowmetal/components/hydra
2023-05-03 22:50:09 -06:00
..
src/python/hydra Sketching towards a prototype lisp 2023-05-03 22:50:09 -06:00
BUILD Sketching towards a prototype lisp 2023-05-03 22:50:09 -06:00
README.md Start sketching at Hydra 2023-03-08 15:15:50 -07:00

Hydra; a multi-headed Python-on-Python interpreter.

Hydra draws extensively the OCaml and Scheme prior art for coroutine based interpreters to produce a Python interpreter along the same lines.

At the top of the interpreter we see an extensible while loop. The interpreter performs one "step" - evaluating a single statement - producing a new state and a "next PC"; a path into the AST identifying the next statement to be executed.

This model enables single stepping, stack analysis and most importantly interruptions as for snapshotting or suspending.

Hydra is the basis for the Flowmetal interpreter.