Strand
A new browser runtime: a typed language, a multithreaded actor VM, and a declarative scene graph. A proof of concept.
The argument
The core architecture of the web platform is from the 1990s. A script language with one thread controls a retained document model. Types, concurrency, security and app-style UI all came later, as additions.
Strand asks what that platform looks like if you start it new in 2026.
The slice
- A language. TypeScript's shape, with the known holes closed: no
null, no implicit coercion, nothis, no promises, no try/catch. An expected failure is aResult. A bug is a panic that ends one actor. - A runtime. The language compiles to WASM. Each actor gets its own arena and its own task. If an actor crashes, a supervisor restarts it, and nothing else is disturbed.
- A UI. A view is a pure function of state. The platform lays it out and paints it on the GPU, on a render thread it owns. No DOM, no cascade, no z-index.
Three demonstrations
- Crash an actor. Its panel shows a failure boundary, a fresh actor takes its place, and no other state is lost.
- Peg a core. Guest code holds a CPU core at full load. Typing stays at frame rate.
- Edit the file. A save recompiles the program and moves every actor to the new code, with its state.