ROVE / THE V5 LINE

Write the logic.
Put it to work.

A language is only as useful as what you make with it. Native tools, JavaScript and Python modules, and WebAssembly applications. Start with a result you can use.

ROVE SOURCE TYPED HIR v1 NATIVE / LLVM JS / PYTHON / WASM
01 / RUN THE RESULT

Your data.
Rove doing the work.

LIVE APPLICATION

Paste request latencies from a test run. Find the slow requests, check your budget, and take a report with you. All calculations run in a compiled Rove WASM module on your device.

Latency report

.rove → .wasm

Numbers separated by commas, spaces or new lines. Up to 10,000 samples, each 0–1,000,000 ms.

Report

WAITING

Run the analysis to see results here.

Average latency
—ms
Over budget
—
Fastest
—ms
Slowest
—ms

Latency distribution

— samples
See the source. Reproduce the result.

The shared metrics.rove module implements the calculations. JavaScript validates input, calls the generated ABI wrapper and renders the result.

Read Rove source ↗

Read generated TypeScript types ↗
python src/cli.py bundle examples/metrics/metrics.rove \
  --output docs/generated/metrics --package
python -m http.server 8080 --directory docs
02 / BEYOND THE BROWSER

Take the same language further.

03 / KNOW YOUR TARGET

One frontend.
Explicit contracts.

Backend maturity is declared in the compiler registry. A beta label matters: check the supported capability before building around it.

Read the backend gates ↗
Current v5 backend contracts
TargetOutputStatus
C++C++20 / native binaryStable
JavaScriptES2022 / Node.jsStable
PythonPython 3Stable
WebAssemblyWASM / Bundle ABI v1Beta
RustRust 2021Beta
LLVM IRNative scalar + structs/arraysExperimental
React / ASMTSX / x86_64 via C++Beta
04 / MIGRATION STATUS
SOURCE PREVIEW

Rove continues from Daydream.

v5.0.3 is the last tagged source version. Rove is available in the source tree; a Rove release has not been published yet. C++20, JavaScript, and Python retain their stable backend contracts, while LLVM and C17 remain experimental.

01

Direct LLVM IR pipeline

Native scalar arithmetic, IEEE double, structured control flow, and Clang compilation without C++ hops.

02

LLVM aggregate types

Value-semantic structs, stack-owned scalar arrays, bounds verification, element copy semantics, and for-loop iteration.

03

C17 scalar backend

Portable ISO C17 emission, wrapping signed integer arithmetic, safe division aborts, and strict conformance.

04

Toolchain integration

Direct rove build -t llvm and rove run -t llvm compiling to native binaries via host Clang.

05

Preserved stable contracts

C++20 remains the default native path; JavaScript and Python remain stable, while WASM, Rust, React, ASM keep their declared maturity levels.

06

Canonical compiler model

All public backend paths continue through checked Typed HIR and reject unsupported constructs instead of silently falling back.

07

Native self-hosting

The reproducible Stage1 → Stage2 → Stage3 compiler path remains part of the release verification contract.

08

Release evidence

Tagged builds produce platform binaries, deterministic archives, VSIX, checksums, SBOM, and provenance after the complete workflow passes.

09

Explicit LLVM limits

Escaping arrays, nested aggregates, exceptions, tasks, closures, and complete standard-library bindings remain outside the stable LLVM contract.

Build something.
Then look under the hood.