ARO (Action-Result-Object) is a declarative programming language designed to express business features as natural, readable statements.
Every ARO statement follows a simple pattern:
<Action> the <Result> from/to/with the <Object>.
This maps directly to how business requirements are expressed:
(Create User: User API) {
<Extract> the <data> from the <request: body>.
<Create> the <user> with <data>.
<Store> the <user> in the <user-repository>.
<Return> a <Created: status> with <user>.
}
- Natural Language Syntax - Code reads like requirements documentation
- Event-Driven Architecture - Feature sets respond to HTTP requests, domain events, and system events
- Contract-First APIs - OpenAPI specifications define HTTP routing
- Happy Path Focus - Write only the success case; errors are handled by the runtime
- Native Compilation - Compile to standalone binaries via LLVM
# Install via Homebrew
brew tap arolang/aro
brew install aro
# Run an application
aro run ./MyApp