Welcome to the official documentation for the Aria project.
For the latest update please read this post.
Welcome to Aria. Aria is a modern, dynamic scripting language. It is meant to be a "sweet spot" language, easy to pick-up and with a good balance between ease of use, safety, and flexibility. Aria's design choices help you build great programs quickly.
Aria offers:
- modern, safer error handling based on algebraic data types;
- a memory safe by default approach, leveraging the Rust ecosystem under the hood;
- a flexible programming model, with an intuitive module system, optional type checks enforced at runtime, and composition as the building block of code reuse.
Aria has a simple yet usable standard library, with date/time handling, networking, file system access, JSON support and more.
Aria is currently supported on Linux and macOS. Contributions for other operating systems are welcome and encouraged!
Aria is easy to learn. Here's a quick example that fetches data from a web API and prints the result. In this example, Aria fetches user data from GitHub’s API and prints the number of public repositories for a given user. This shows how simple it is to interact with external APIs and handle dynamic data in Aria.
Running this sample is as simple as:
$ aria github_user.aria
User egranata has 5 public repositories.Ready to try Aria? Here’s how to get up and running in just a few minutes.
Install Rust and Git.
For Rust, you can use rustup.rs.
For Git, you can install it via your package manager (e.g. apt, dnf) or from the official website.
- Clone the repository:
git clone https://github.com/arialang/aria.git cd aria - Build the project using Cargo:
The main
# This builds the compiler, VM, and all libraries in debug mode. cargo build --workspaceariaexecutable can be run via./aria.
The debug mode compiles Aria with debugging information to help you identify issues during development. For faster performance, you can build it in release mode later using cargo build --release. If you're benchmarking Aria, we recommended using release builds.
Before you make any changes, make sure the full test suite passes.
# This script runs all Rust unit tests and the .aria language test suite.
# It's the best way to ensure everything is working correctly.
./tWe welcome contributions of all kinds, from bug fixes to feature ideas to documentation improvements.
- Found a bug? Please open an issue.
- Want to add a feature? Check out our Contribution Guide for details on our development process and coding standards.
By contributing to Aria, you agree that your contributions are licensed under the Apache License 2.0.
Not a Rust developer? Not a problem. You can still help by improving the documentation, reporting bugs, or providing feedback and suggestions!
The Aria language is documented at manual.md and a Standard Library reference can be found at stdlib.md.
Aria is open-source software licensed under the Apache License 2.0. This license allows you to freely use, modify, and distribute Aria, as long as you follow its terms.