The 5 VMs
The same 5 opcodes, ported to 5 languages. Each VM is a door into the same idea. The metaphor is local; the substrate is the same.
01Side by side
quilt-vm-c
The desert. C99, 0.11ms runtime, the bare metal. The cowboy's day-job language.
C99 · 0.11msquilt-vm-rust
The workshop. Rust, the cowboy's safer language. Memory-safe, idiomatic.
Rust · idiomaticquilt-vm-typescript
The city. TypeScript, agents, Cordis-native. The web-native port.
TypeScript · webquilt-vm-haskell
The cathedral. Haskell, the algebraic port. The math is the type system.
Haskell · algebraicquilt-vm-wasm
The campfire. WASM, runs in any browser. The cowboy's tent.
WASM · portable02The 5 opcodes, in 5 languages
Compare. The shape is the same. The syntax is local. The substrate is universal.
// C (quilt-vm-c)
substrate_bind(sub, "greeting", json_string("hello"));
substrate_link(sub, "alice", "bob", "friend");
substrate_view(sub, "greeting");
// Rust (quilt-vm-rust)
sub.bind("greeting", json!("hello"));
sub.link("alice", "bob", "friend");
sub.view("greeting");
// TypeScript (quilt-vm-typescript)
sub.bind('greeting', 'hello');
sub.link('alice', 'bob', 'friend');
sub.view('greeting');
// Haskell (quilt-vm-haskell)
bind "greeting" (toJSON "hello")
link "alice" "bob" "friend"
view "greeting"
// WASM (quilt-vm-wasm)
;; binary format: opcode + operands
;; (wasm is the runtime, not the source language)