The FDD Story Get Started Tutorial Docs Motivation Download GitHub

Documentation

Everything you need to build amazing applications with ARO.

Learn ARO

Start here if you're new to the language

Core Concepts

Deep dives into ARO's architecture

Powerful Features

What makes ARO remarkable

📡

Event-Driven Architecture

Simple event dispatch between feature sets. Emit events by name, no subscriptions or complex pub/sub needed.

Learn events →
🔀

State Transitions

Manage state machines with OpenAPI enums and a simple Accept action. Runtime validates all transitions.

Learn states →
📊

Data Pipelines

Filter, transform, and aggregate collections with map/reduce style operations. All results typed via OpenAPI.

Learn pipelines →
⚡

Native Compilation

Compile ARO to LLVM IR and native binaries. Fast startup, lower memory, single binary deployment.

Learn compilation →
📅

Working with Dates

Date and time handling with timezone support, relative offsets, ranges, and recurrence patterns.

Learn dates →
🔍

HTML Parsing

Turn a fetched page into links, text, Markdown or any CSS selection — including attributes, with a@href.

Learn parsing →
🔗

Set Operations

Compute intersections, differences, and unions on lists, strings, and objects with polymorphic operations.

Learn set ops →
📊

Runtime Metrics

Built-in execution metrics with action counts, timing, and Prometheus-compatible export. Zero configuration.

Learn metrics →
🌊

Streaming Execution

Process arbitrarily large datasets with constant memory. Same syntax, streaming under the hood.

Learn streaming →
⚡

Concurrency

What runs at the same time as what. Statement overlap, ordered effects, and parallel for each.

Learn concurrency →
✅

Testing

Tests colocated with the code they exercise. Given, When, Then — and stripped out of native binaries.

Write tests →
🔀

Git

Status, staging, commits, branches and tags as ordinary statements, backed by libgit2 — with an event for every change.

Learn Git →
💻

Interactive REPL

Explore ARO interactively. Execute statements, inspect results, and prototype features in real time.

Try the REPL →
📓

Jupyter Notebooks

Run ARO in notebooks — in Solaro's .repl editor or any Jupyter front-end via the native kernel. Prose, live cells, and outputs in one document.

Open a notebook →

Building APIs

Create powerful HTTP services with ARO

Reference

Detailed specifications and proposals