https://github.com/alii/arc
⌒ JavaScript on the BEAM
https://github.com/alii/arc
beam compiler engine erlang javascript
Last synced: about 5 hours ago
JSON representation
⌒ JavaScript on the BEAM
- Host: GitHub
- URL: https://github.com/alii/arc
- Owner: alii
- Created: 2026-02-21T08:43:32.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2026-06-24T23:44:51.000Z (7 days ago)
- Last Synced: 2026-06-25T01:10:35.867Z (6 days ago)
- Topics: beam, compiler, engine, erlang, javascript
- Language: Gleam
- Homepage: https://arc.alistair.sh
- Size: 26.4 MB
- Stars: 199
- Watchers: 1
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
> [!NOTE]
> arc is an **extremely early** research project, tread carefully!
# arc ⌒
JavaScript on the BEAM

Arc is a JavaScript engine written in [Gleam](https://gleam.run) — the whole language, not a subset. It runs wherever the BEAM runs: on Erlang/OTP, and in the browser through [AtomVM](https://www.atomvm.net) 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](https://github.com/tc39/test262) on every commit:

---
```sh
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
```