An ECMA-55 Minimal BASIC interpreter, hand-written in Roc and compiled to WebAssembly, with a thin JavaScript layer for the page. Everything below runs in this tab. How it works, and what Roc makes hard.
The machine is a Roc value. The page starts it with the listing and a seed, and the machine
hands itself back whenever it wants a line typed, sleeps, prints a line, or has run a few
thousand statements; the page paints what it drew and resumes it. Graded against the National Bureau of Standards' Minimal
BASIC test programs and the 1978 BASIC Computer Games listings.
Source: github.com/showell/roc-apps
(basic/).
This page was authored by Steve Howell with Claude in September 2026.