← Back to Blog

Why ARIA, Why Now

· John Avera

Every major AI lab ships code generation. Copilot, Claude, Gemini. The output is Python, JavaScript, Rust, Go. Human languages for human readers.

But the pipeline has changed. The AI writes the code. The compiler consumes the code. The human reviews the code at most. Often not even that. In CI/CD pipelines, generated code flows from prompt to production without a human ever reading a line.

The intermediate representation between the AI and the compiler is still optimized for a human audience. Indentation conventions. Readable variable names. Syntactic sugar that exists to reduce keystrokes for fingers that are no longer typing.

This is not wrong. It is legacy. And like all legacy, it creates drag.

The drag

When an AI generates Python, it must navigate Python's ambiguity. Operator overloading. Dynamic typing. Import resolution. Context-dependent syntax. The AI must make choices that optimize for human comprehension, not for compiler consumption. Every one of those choices is a potential source of error.

When a compiler consumes that Python, it must parse syntax designed for readability, not for analysis. It must infer types the AI already knew. It must resolve ambiguities the AI should never have introduced.

Both ends of the pipeline are working harder than they need to, because the representation in the middle was designed for a third party who is not present.

The alternative

ARIA is an s-expression intermediate representation where the AI states types explicitly, declares effects, annotates intent, and produces code that a compiler can consume without guessing. No syntax sugar. No implicit coercion. No ambiguity.

The AI does less work to produce ARIA-IR than to produce Python. The compiler does less work to consume it. The pipeline is tighter. The error surface is smaller. And the intent annotations carry the AI's reasoning through to the output, making verification possible at the other end.

Why now

Two years ago, AI code generation was a curiosity. Today it is infrastructure. The volume of AI-generated code flowing through production systems doubles quarterly. The question is no longer whether AI will write most of the code. The question is what that code should look like.

ARIA is one answer. We think it is the right one. And we think the time to build the toolchain is now, before the defaults calcify.

The Clojure implementation is live, open source, and compiling real programs to native binaries. Start with the Get Started guide, or read the technical overview.