There’s a long tradition of just-in-time compilation of code in livecoding systems, from McCarthy’s LISP systems in the 1960s, to the dynamic method translation of the Deutsch-Schiffman Smalltalk virtual machine, to the “hotspot” compilers of Self, Strongtalk and Java, to current implementations for JavaScript and WebAssembly in Chrome’s V8 and Firefox’s SpiderMonkey. Rather than interpret […]| thisContext
I’m writing the Catalyst Smalltalk virtual machine in Smalltalk, and running it in WebAssembly (WASM, in particular WASM GC, which has a reference-types system supporting garbage collection),…| thisContext
The core of the mechanism is working. I’ve bootstrapped a Smalltalk virtual machine and object memory as a WebAssembly (WASM) module, using the type system that supports garbage collection th…| thisContext
There is always one section in our utensil drawer that is emptier than the others. Spoons are useful for so many things, and they seem to have a natural restlessness. They leap away from the confines of the kitchen. They jump into cars and carry-ons. Sometimes the places they go are even stranger. All they need is for some piece of china to whisper “Hey, diddle diddle,” and there they go, sneaking out with the dish again.| The Last Word On Nothing
After creating a working proof-of-concept Squeak Smalltalk virtual machine with a combination of existing SqueakJS code and handwritten WASM (for the instruction functions), I set about automating the generation of WASM from JS for the rest of the functions. (A hybrid WASM/JS virtual machine has poor performance, because of the overhead of calling JS functions […]| thisContext