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:
| Platform | Architecture | File |
|---|---|---|
| macOS | Apple Silicon (ARM64) | aria-darwin-arm64.tar.gz |
| macOS | Intel (x86_64) | aria-darwin-amd64.tar.gz |
| Linux | x86_64 (AMD64) | aria-linux-amd64.tar.gz |
| Linux | ARM64 (AArch64) | aria-linux-arm64.tar.gz |
| Windows | x86_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 Triple | Platform |
|---|---|
arm64-apple-macosx14.0.0 | macOS Apple Silicon |
x86_64-apple-macosx14.0.0 | macOS Intel |
x86_64-unknown-linux-gnu | Linux x86_64 |
aarch64-unknown-linux-gnu | Linux ARM64 |
x86_64-pc-windows-msvc | Windows 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).