How Ring++ works — and how it is measured

One binary, rnxc, holds the whole runtime: a parser, a compiler and a register VM. Next to it sits a second runtime that is never shipped: Ring 1.27 itself, built from its own source, so that "compatible" is a measurement.

The pieces

The oracle

Ring 1.27's VM source is vendored verbatim, under its MIT licence, and built with the same Zig toolchain on five platforms. That build — not an installation anyone else controls — is what every comparison is made against. It is never shipped and never the product; it exists so that every claim of compatibility can be checked.

What is measured, before every release

And four rules for every number: no claim without a measurement; minima over repetitions, never one run; the same answer before any speed is quoted; and every speed-up stated with the pattern it makes slower. The first measurements of the VM, and what flatters them, are in NOTES.md.

The commands

rnxc program.ring            run it (the first run compiles; later runs start from the image)
rnxc check program.ring      report what Ring would only find when the line runs
rnxc census program.ring     what compiles, what is refused, and why
rnxc fmt program.ring        the canonical text of a Ring file
rnxc graph program.ring      the resolved call graph, as the compiler bound it
rnxc dump --json file.ring   the lossless parse tree