The Io virtual machine compiled to WebAssembly, running entirely in your
browser — nothing is sent to a server. Type an expression and press Enter. State persists
between evaluations, and the Io↔JavaScript bridge gives your code access to the page:
try the DOM example below.
This page runs the real Io VM — the same C source that runs under
wasmtime — compiled to a
WebAssembly reactor module with
wasi-sdk.
Instead of running main() and exiting, the module exports functions that
JavaScript calls for each evaluation, so the VM (and everything you define) stays alive
between inputs.
Io output (print, println, write) is captured through
the VM's print callback and shown in the transcript; if an expression prints nothing, its
return value is shown as ==> value. The JS object bridges into
JavaScript both ways: Io can call JS functions and read or set properties, JS callbacks can
invoke Io blocks, and JS Promises tie into Io's coroutines so awaiting code reads like
straight-line code.
Read more in the WASM technical notes or browse the browser bridge source on GitHub.