Start here.

One install gets you both halves. Neither requires the other.

  1. Install.
    git clone https://github.com/mayouni/ringpp.git
    That 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.
  2. Load it, from anywhere.
    load "ringpp.ring"
    
    oBuf = new RppBuffer(1024)
    oBuf.Poke(0, "hello")
    ? oBuf.Peek(0, 5)        # --> hello
    Pure 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.
  3. Check a real project.
    ringpp check myproject/
    16 rules, each traced to a measured finding. No toolchain, no configuration — what it actually finds.
  4. Package it, no compiler.
    ringpp build myproject/main.ring --out dist
    Bytecode 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.

What's actually built, right now

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.

Next

Reference →

Every RppBuffer, RppView, RppIndexed and RppSandbox method, one page, with a real example for each.

Performant code →

The same loop, 75× faster, by changing what you hold — not how you write the loop.

Static analysis →

What ringpp check actually found in Ring's own standard library, and why it refuses rather than guesses.

Native build →

How a program ships with no compiler, and the one native library Ring++ will not package for you.

Blog →

Why Qt is refused, what "dependency-free" excludes, and the day we attacked our own library and it died in four lines.