-
Notifications
You must be signed in to change notification settings - Fork 0
Home
Kris Simon edited this page Jan 2, 2026
·
5 revisions
Welcome to the ARO programming language documentation.
ARO (Action-Result-Object) is a declarative domain-specific language for expressing business features in a human-readable format. ARO programs describe what should happen using natural language constructs, and the runtime handles how it executes.
ARO is designed for building event-driven applications with clear, readable business logic. Key characteristics include:
- Declarative Syntax: Express intent, not implementation details
- Event-Driven Architecture: Feature sets respond to events automatically
- Multi-File Applications: Organize code across files without imports
- Built-in Services: HTTP server/client, file system, sockets out of the box
| Document | Description |
|---|---|
| Getting Started | Install ARO and write your first application |
| A Tour of ARO | A comprehensive introduction to ARO's features |
Detailed documentation of ARO language features:
| Chapter | Description |
|---|---|
| The Basics | Fundamental concepts, syntax, and structure |
| Feature Sets | Defining and organizing feature sets |
| Actions | Built-in actions and the ARO statement pattern |
| Variables and Data Flow | Variable binding, scoping, and publishing |
| Type System | Primitives, collections, and OpenAPI types |
| Control Flow | Conditionals, guards, and branching |
| Error Handling | The "Code Is The Error Message" philosophy |
| Concurrency | Async feature sets, sync statements |
| Events | Event-driven programming and handlers |
| Application Lifecycle | Start, run, and shutdown |
| HTTP Services | HTTP server and client operations |
| File System | File I/O and directory watching |
| Sockets | TCP communication |
Formal language specification:
| Document | Description |
|---|---|
| Grammar | Complete EBNF grammar specification |
| Statements | Statement types and syntax |
| Actions Reference | Complete action verb reference |
| Document | Description |
|---|---|
| Action Developer Guide | Creating custom actions in Swift |
(* Application entry point *)
(Application-Start: Hello World) {
<Log> "Hello, ARO!" to the <console>.
<Return> an <OK: status> for the <startup>.
}
(* Graceful shutdown *)
(Application-End: Success) {
<Log> "Goodbye!" to the <console>.
<Return> an <OK: status> for the <shutdown>.
}
Run with:
aro run ./HelloWorld- Evolution Proposals - Language design proposals
- Examples - Example applications
- GitHub Repository - Source code
- Mastodon - Daily language tips and updates
This documentation covers ARO 1.0.
Fundamentals
- The Basics
- Feature Sets
- Actions
- Variables
- Type System
- Control Flow
- Error Handling
- Computations
- Dates
- Concurrency
Runtime & Events
I/O & Communication
Advanced