The editor and the REPL below share one engine instance: load a sample, run it, then poke at its functions and variables from the REPL. Everything executes in the C VM compiled to WebAssembly — not in your browser's JavaScript engine.
A bytecode compiler, a mark-and-sweep collector, closures with real upvalue capture, promises and async/await, ES modules, and a regex engine — all written in C and compiled to a ~1 MB WebAssembly module. The language guide covers what the subset does and does not include, and deviations is the honest list of where it parts company with a full engine.
This page runs with the sandbox limits switched on — a 200 million instruction budget per evaluation and a 128 MB heap cap — because it is a REPL open to whatever a visitor types. Try while (true) {}: it returns a RangeError rather than locking the tab up. Running untrusted code explains what those limits do, and what they do not.
Reset
Reset discards the whole session and starts a fresh VM. Worth reaching for after an experiment that fills the heap: the data a script leaves behind is still reachable from the persistent REPL context, so the memory stays used until the context goes.