← Back to Blog

ARIA v0.1.0

· John Avera

This is not a 1.0. It is a stake in the ground. The ARIA toolchain compiles ARIA-IR to native binaries, WebAssembly modules, and JVM class files. It type-checks. It enforces effects. It works. Ship it.

What is included

Three backends. The C backend is the original, shipping since day one. The WASM backend came from Arkaitz Mugica in PR #1 and PR #7, the first external contributions to the project. The JVM bytecode backend landed across three phases: PR #10, PR #11, and PR #13, all merged today.

All three example programs compile and run on all three backends: fibonacci, bubble_sort, math_demo. That is the bar. If the same ARIA-IR source produces correct output on C, WASM, and JVM, the compiler is doing its job.

The uberjar

Starting with v0.1.0, every tagged release publishes a standalone JAR. Java 11 is all you need. No Clojure CLI. No gcc. No wat2wasm. Download the JAR, point it at an .aria file, and you are running.

java -jar aria-clj-0.1.0.jar examples/fibonacci.aria --check
java -jar aria-clj-0.1.0.jar examples/fibonacci.aria --backend jvm --emit-jar

Download aria-clj-0.1.0.jar

What is next

Layer 4 intent verification (Issue #6). That is the thesis-level work. Everything built so far is infrastructure. The real question ARIA exists to answer is whether an AI-authored program can be verified against the human's stated intent. The JVM backend's @Intent annotations give that verification a concrete target. Now it needs a verifier.

If any of this interests you, the repo is open.