Installation

Aria provides pre-built binaries for 5 platform targets. Download the binary for your platform and start compiling.

Download Pre-Built Binaries

Visit the Downloads page or grab the latest release directly:

PlatformArchitectureFile
macOSApple Silicon (ARM64)aria-darwin-arm64.tar.gz
macOSIntel (x86_64)aria-darwin-amd64.tar.gz
Linuxx86_64 (AMD64)aria-linux-amd64.tar.gz
LinuxARM64 (AArch64)aria-linux-arm64.tar.gz
Windowsx86_64 (AMD64)aria-windows-amd64.zip

Quick Install (macOS / Linux)

# Download (example: Apple Silicon Mac)
curl -LO https://github.com/dan-strohschein/aria/releases/latest/download/aria-darwin-arm64.tar.gz
tar xzf aria-darwin-arm64.tar.gz

# Move to PATH
sudo mv aria /usr/local/bin/

# Verify
aria version

Quick Install (Windows)

# Download aria-windows-amd64.zip from the Downloads page
# Extract the zip file
# Add the extracted directory to your system PATH
# Open a new terminal:
aria version

Build from Source

Prerequisites

  • Go 1.21+ (for the bootstrap compiler)
  • Clang (for LLVM IR compilation)
# Clone the repositories
git clone https://github.com/dan-strohschein/aria.git
git clone https://github.com/dan-strohschein/aria-compiler-go.git

# Build the Go bootstrap compiler
cd aria-compiler-go
go build -o aria ./cmd/aria

# Use bootstrap to build the self-hosting compiler
./aria build ../aria/src/

# Verify
./aria version

The self-hosting compiler can then compile itself:

# Self-host: use the Aria compiler to build itself
cd ../aria
./src/aria_generated build src/
# Produces native binary

Compilation Targets

Aria compiles to native code via LLVM. Supported target triples:

Target TriplePlatform
arm64-apple-macosx14.0.0macOS Apple Silicon
x86_64-apple-macosx14.0.0macOS Intel
x86_64-unknown-linux-gnuLinux x86_64
aarch64-unknown-linux-gnuLinux ARM64
x86_64-pc-windows-msvcWindows x86_64

Project Setup

Create a new Aria project with an aria.toml manifest:

[project]
name = "myapp"
version = "0.1.0"
aria = "0.1"
entry = "src/main.aria"

[deps]

[dev-deps]

CLI Commands

aria check <file|dir>       # Type-check without compilation
aria build <file|dir>       # Compile to native executable
aria run <file|dir>         # Compile and run
aria test <file|dir>        # Run test blocks
aria version                # Print compiler version
aria help                   # Show help

All commands support both individual files and directories (recursively finds .aria files).

Next Steps