"One of my oldest open-source projects - Bob - has celebrated 15 a couple of months ago. Bob is a suite of implementations of the Scheme programming language in Python, including an interpreter, a compiler and a VM. Back then I was doing some hacking on CPython internals and was very curious about how CPython-like bytecode VMs work; Bob was an experiment to find out, by implementing one from scratch for R5RS Scheme."
"The C++ VM in Bob implements its own mark-and-sweep GC. After many quiet years (with just a sprinkling of cosmetic changes, porting to GitHub, updates to Python 3, etc), I felt the itch to work on Bob again just before the holidays. Specifically, I decided to add another compiler to the suite - this one from Scheme directly to WebAssembly."
Bob is a suite of Scheme implementations in Python including an interpreter, compiler, and VM. Bob began as an experiment to explore CPython-like bytecode VMs by implementing one from scratch for R5RS Scheme. A later addition implemented a C++ VM that includes a custom mark-and-sweep garbage collector to study low-level VM implementation without Python runtime support. Recent work added a Scheme-to-WebAssembly compiler that lowers parsed Scheme expressions to WebAssembly text and binaries executable with standard WASM tools. The project targeted experiments lowering a high-level language to WASM and practical use of the WASM GC extension by representing Scheme objects as ref boxed values.
Read at Thegreenplace
Unable to calculate read time
Collection
[
|
...
]