← Back to Documentation

Language Specifications

The ARO language is documented through 27 comprehensive specifications that cover everything from core syntax to native compilation.

Reading Order

For newcomers to ARO, we recommend reading the specifications in order. Each builds on concepts from the previous ones.

Language Specifications

These 27 documents define the complete ARO language.

#SpecificationTopics
0001 Language Fundamentals Core syntax, literals, expressions, variable scoping
0002 Control Flow When guards, match expressions, iteration, collections
0003 Type System Types, OpenAPI integration, contract-first APIs
0004 Actions Action roles, 48 built-in actions, custom extensions
0005 Application Architecture App structure, lifecycle, concurrency model
0006 Error Philosophy "Code is the error message" approach
0007 Events & Reactive Event dispatch, state machines, repositories
0008 I/O Services HTTP server/client, file system, sockets
0009 Native Compilation LLVM code generation, aro build command
0010 Advanced Features Regular expressions, date/time, system exec
0014 Domain Modeling DDD patterns: entities, value objects, aggregates
0015 Testing Framework BDD-style testing with Given/When/Then
0016 Interoperability Foreign function interface, plugins, database integration
0018 Data Pipelines Filter, Map, Reduce operations on collections
0019 Standard Library Primitive types, core utilities
0022 State Guards Event handler filtering with field:value syntax
0030 IDE Integration Syntax highlighting, editor support
0031 Context-Aware Formatting Adaptive output for machine/human/developer
0034 Language Server Protocol LSP implementation for IDE features
0035 Configurable Runtime Configure action for timeouts and settings
0036 Extended File Operations Exists, Stat, Make, Copy, Move actions
0037 Regex Split Split action with regex delimiters
0038 List Element Access first, last, index, range specifiers
0040 Format-Aware I/O Auto format detection for JSON, YAML, CSV, etc.
0041 Date/Time Ranges Date arithmetic, ranges, recurrence patterns
0042 Set Operations intersect, difference, union on collections
0043 Sink Syntax Expressions in result position

Legacy Proposals

The original evolution proposals are preserved in the legacy folder for historical reference. These have been superseded by the consolidated specifications above.

Contributing

Want to propose a new feature? Open an issue on GitHub with your idea and we'll discuss whether it should become a formal specification.