One install gets you both halves. Neither requires the other.
git clone https://github.com/mayouni/ringpp.gitThat is the whole dependency story for the library. No extension to compile, no DLL, no toolchain —
rpp/*.ring is loaded relative to
ringpp.ring, so it works wherever your repo is cloned.load "ringpp.ring" oBuf = new RppBuffer(1024) oBuf.Poke(0, "hello") ? oBuf.Peek(0, 5) # --> helloPure Ring. Works wherever stock Ring works — including WASM. That's one method of four classes — the other three, and every method on all four, are on one page.
ringpp check myproject/16 rules, each traced to a measured finding. No toolchain, no configuration — what it actually finds.
ringpp build myproject/main.ring --out distBytecode plus a runtime stub, for whichever of five platforms you name — or
--target android for a signed .apk.
How the packaging actually works, including the one
thing it refuses to do.Five commands exist: check, why,
deps, build, and the undocumented ast. The
binary's own help screen names what is not built yet, and it is the source of
truth over any web page — including this one:
$ ringpp help
Not built yet: probe, bench, run, emit, dist, doctor, vendor.
The full, real command reference — every example on it a captured run, none invented — is CLI.md.
Every RppBuffer, RppView,
RppIndexed and RppSandbox method, one page,
with a real example for each.
The same loop, 75× faster, by changing what you hold — not how you write the loop.
What ringpp check actually found in Ring's own standard
library, and why it refuses rather than guesses.
How a program ships with no compiler, and the one native library Ring++ will not package for you.
Why Qt is refused, what "dependency-free" excludes, and the day we attacked our own library and it died in four lines.