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.
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 → .wasmReport
WAITINGRun the analysis to see results here.
- Average latency
- —ms
- Over budget
- —
- Fastest
- —ms
- Slowest
- —ms
Latency distribution
— samplesSee 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 generated TypeScript types ↗
python src/cli.py bundle examples/metrics/metrics.rove \
--output docs/generated/metrics --package
python -m http.server 8080 --directory docs
Take the same language further.
Native latency CLI
Analyze integer millisecond samples from command-line arguments using the same metrics module.
./build/cpp/cli.exe 42 95 380
Source & usage ↗
02
JavaScript & Python integration
Import compiled metrics functions into Node or Python. Typed foreign imports also cover native platform APIs.
Rove logic → importable host modules
Run integrations ↗
03
Pong & Last Signal
Larger interactive programs exercise input, state and control flow. Browser Pong uses the generated Canvas host bridge.
Native terminal games / browser Canvas
Play browser Pong ↗
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 ↗| Target | Output | Status |
|---|---|---|
| C++ | C++20 / native binary | Stable |
| JavaScript | ES2022 / Node.js | Stable |
| Python | Python 3 | Stable |
| WebAssembly | WASM / Bundle ABI v1 | Beta |
| Rust | Rust 2021 | Beta |
| LLVM IR | Native scalar + structs/arrays | Experimental |
| React / ASM | TSX / x86_64 via C++ | Beta |
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.
Direct LLVM IR pipeline
Native scalar arithmetic, IEEE double, structured control flow, and Clang compilation without C++ hops.
LLVM aggregate types
Value-semantic structs, stack-owned scalar arrays, bounds verification, element copy semantics, and for-loop iteration.
C17 scalar backend
Portable ISO C17 emission, wrapping signed integer arithmetic, safe division aborts, and strict conformance.
Toolchain integration
Direct rove build -t llvm and rove run -t llvm compiling to native binaries via host Clang.
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.
Canonical compiler model
All public backend paths continue through checked Typed HIR and reject unsupported constructs instead of silently falling back.
Native self-hosting
The reproducible Stage1 → Stage2 → Stage3 compiler path remains part of the release verification contract.
Release evidence
Tagged builds produce platform binaries, deterministic archives, VSIX, checksums, SBOM, and provenance after the complete workflow passes.
Explicit LLVM limits
Escaping arrays, nested aggregates, exceptions, tasks, closures, and complete standard-library bindings remain outside the stable LLVM contract.