The Aria Programming Language

Welcome to Aria!


Project maintained by egranata Hosted on GitHub Pages — Theme by mattgraham

Welcome to the official documentation for the Aria project.

Table of Contents

What is Aria?

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:

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!

A Taste of Aria

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.

Getting Started

Ready to try Aria? Here’s how to get up and running in just a few minutes.

1) Prerequisites

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.

2) Build From Source

  1. Clone the repository:
    git clone https://github.com/egranata/aria.git
    cd aria
    
  2. Build the project using Cargo:
    # This builds the compiler, VM, and all libraries in debug mode.
    cargo build --workspace
    

    The main aria executable 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.

3) Run the Test Suite

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.
./t

How to Contribute

We welcome contributions of all kinds, from bug fixes to feature ideas to documentation improvements.

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!

Documentation

The Aria language is documented at manual.md and a Standard Library reference can be found at stdlib.md.

License

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.