Start here

One folder holds everything: rnxc, Ring's standard library, Softanza and its engine built for Ring++. Unpack it anywhere; nothing else is installed, and no C compiler is ever needed.

1. Get the package

From the latest release:

Most of that is Softanza — its main branch — and its engine. rnxc itself is one 5 MB file. PACKAGE.txt at the top of the folder names the commits that went in.

2. Run a program

load "stzlib.ring"

? "sort:      " + @@( Q([ 3, 1, 2 ]).Sorted() )
? "upper:     " + StzStringQ("ring++ runs softanza").Uppercased()
? "words:     " + StzStringQ("one two three").NumberOfWords()
ringpp-win64\bin\rnxc.exe prog.ring

sort:      [ 1, 2, 3 ]
upper:     RING++ RUNS SOFTANZA
words:     3

load "stzlib.ring" works from any folder. The first run compiles Softanza's 699 files (about twenty seconds); every later run starts from the compiled image, in a tenth of a second.

3. Check a program before it runs

rnxc check prog.ring

prog.ring
  2:1  error  rpp/undefined-function
          Nope() is not defined anywhere this file can reach -- Error (R3) the moment this line runs

4. Build it yourself

With Zig 0.15.2 and nothing else:

zig build -Doptimize=ReleaseFast -j2 -Dmi=true -Drc=true -Dtyped=true -Dcow=true

The gate that every change passes is python bench/gate.py.