Note
arc is an extremely early research project, tread carefully!
JavaScript on the BEAM
Arc is a JavaScript engine written in Gleam — the whole language, not a subset. It runs wherever the BEAM runs: on Erlang/OTP, and in the browser through AtomVM compiled to WebAssembly.
It implements the language itself — closures, generators, async/await, classes, proxies, typed arrays, plus Intl and Temporal. The engine is small and host-agnostic: it knows nothing about the world outside ECMAScript. You embed it in a BEAM program and give it the globals and host functions you want — timers, I/O, a concurrency model — instead of inheriting a fixed runtime.
Tested against test262 on every commit:
gleam run -- file.js # run a script
gleam test # unit tests
TEST262_EXEC=1 gleam test # full test262 suite
TEST262=1 gleam test # parser-only test262