Playground
Write, run, and prove Achronyme programs directly in your browser.
The Achronyme Playground is a browser-based IDE for writing and running Achronyme code. No installation required.
What you get
- Full editor — CodeMirror 6 with syntax highlighting, bracket matching, and auto-indentation
- Inline diagnostics — errors and warnings appear as you type, powered by the same LSP logic as the VS Code extension
- Autocompletion — 108 completions for keywords, builtins, methods, and snippets
- Hover docs — hover over any builtin or keyword to see documentation
- Multi-file projects — file explorer, tabs, rename, and delete
- Three templates —
circuit,vm, andprove, matchingach init --template - Run & prove — execute your code on a remote server with full VM and proving support
Quick start
- Go to achrony.me/playground
- The playground loads a default
vmtemplate withsrc/main.ach - Write your code in the editor
- Press Ctrl+Enter (or click Run) to execute
let greet = fn(name) {
return "Hello, " + name + "!"
}
print(greet("World"))
How it works
The playground runs on two layers:
Browser (client-side):
- CodeMirror editor with Achronyme language support
- LSP features (diagnostics, completions, hover) via WASM — the parser and compiler run locally in the browser with zero latency
- Session management and file persistence via localStorage
Server (play.achrony.me):
- Achronyme compiler + VM running natively on a server
- Each user gets an isolated workspace with server-side file storage
- Execution is sandboxed: 100M instruction budget, 256 MB heap limit, 10s timeout
- Proving support with both Groth16 (R1CS) and Halo2 (Plonkish) backends
Diagnostics are instant because they run in the browser. Execution requires a server round-trip but is fast for typical programs.
Limitations
- Output cap: print output is limited to 1 MB per execution
- File limits: 20 files per project, 32 KB per file, 256 KB total workspace
- Session TTL: sessions expire after 2 hours of inactivity (auto-restored from localStorage backup)
- No REPL: the playground runs complete programs, not individual expressions