#run-time #transpiler #codegen #aver

aver-rt

Shared Rust runtime pieces for Aver-generated programs

3 unstable releases

Uses new Rust 2024

new 0.2.1 Mar 11, 2026
0.2.0 Mar 9, 2026
0.1.0 Mar 6, 2026

#1821 in Programming languages


Used in 2 crates (via aver-lang)

MIT license

47KB
1.5K SLoC

aver-rt

aver-rt is the shared Rust runtime for Aver.

It is used by:

  • the Aver interpreter/runtime adapters in this repository
  • Rust projects generated by aver compile -t rust

The crate exists so Aver semantics live in one place instead of being duplicated between the interpreter and generated Rust output.

That shared-runtime role is practical, not just architectural. Improvements to AverList, String.slice, or service helpers here affect both generated Rust programs and the interpreter-facing adapters that rely on the same semantics.

What it contains

  • AverList<T>: persistent list used by Aver list operations, including deep-list paths such as teardown, tail, and list_uncons
  • AverDisplay: Aver-specific display formatting used by Console.print and string interpolation
  • shared runtime helpers for console, time, disk, env, and string operations
  • shared service types:
    • Header
    • HttpResponse
    • HttpRequest
    • TcpConnection
  • shared service runtimes:
    • tcp
    • http (behind the http feature)
    • http_server

Features

  • default: no optional dependencies
  • http: enables the HTTP client runtime via ureq

Stability

This crate is primarily intended to support Aver-generated programs and the Aver interpreter. The public API should be treated as young and evolving.

Repository

Dependencies

~0–720KB
~12K SLoC