Softanza's move from Ring: faster, checked, one binary.

Ring++ is a register VM and a compiler for the Ring language, in one program of 5 MB for Windows and Linux. It is how Softanza — its 300,000 lines and the applications built on them — left Ring while keeping its code, and it answers the three weaknesses that made Ring hard to carry into production: its performance, the absence of static checks, and the difficulty of building and shipping an application. It leads to Haro, the foundational language of the Softanza project.

Start here: one folder, one program Why Ring++ left Ring

What changed

Until August 2026, Ring++ was a library that ran inside Ring, and a contribution to it. It is now the runtime itself. On 14 October 2026 I retired Ring from all my projects: Softanza, and the customers who depend on it, run on Ring++, and the work goes on towards Haro, the language that comes next.

On 29 October 2026 the move was completed. Softanza's main branch was rewritten for the one rule Ring++ adds — a global used inside a function is written $name — its engine is built for Ring++ from its own source, and the Ring++ packages carry it. Softanza is developed and tested on Ring++. Ring 1.27, built from its own source, stays in this repository only as the reference every answer is compared with. The rewrite changes nothing for a program still on Ring 1.27: 30 of Softanza's tests print the same output on Ring before and after it.

Why, technically and in how Ring is governed, is a page of its own. The issues of Ring that Ring++ solves are another, each shown by a program run on both. The library era is archived, read-only.

Three weaknesses of Ring, solved

Performance

Lists that are arrays, strings passed without copying, methods found once instead of at every call: the places where Ring's design costs it most, replaced. On the same programs, 4 to 2,000 times faster than Ring 1.27.

Static safety

The compiler is also the checker. A global written by mistake from inside a function, which Ring accepts without a word, is refused when the program is compiled; rnxc check reports a call to a function that does not exist before the program runs; and a line Ring++ cannot run correctly is refused with its reason, instead of failing in production on the day it is reached.

Ease of build

One program, built with Zig alone: no Ring installation, no C compiler, no extension to compile or version to match. Softanza and its engine ship in the same package, for Windows and Linux. Nothing it depends on can be withdrawn by anyone else.

Ring's answers, kept

Every answer is compared with Ring 1.27 itself, built from its own source. Where Ring++ answers differently, it is a decision on record, never an accident.

Measured, not promised

what is measured, before every releasethe result
Softanza's own tests: the checks that pass on Ring, passing on Ring++12,924 of 13,008 on Windows (99.4%), 12,170 of 12,255 on Linux (99.3%) — the rest, named
Softanza's main branch, the one the packages carry, compiled whole136,346 statements in 697 files, every one compiled
Ring programs compared with Ring, line by line5,112
Speed against Ring 1.27, on the same programs4 to 2,000 times faster
What has to be installed beside itnothing

The road

  1. Ring++, now. Softanza's runtime: the code written in Ring keeps running — faster, checked, from one binary — on a runtime whose every decision sits in one open repository.
  2. Haro, next. The foundational language of the Softanza project, and the language its code moves to from Ring++. A new language on this VM, it keeps what made Ring worth writing in — its simple syntax, its many paradigms, the declarative brace block first among them — and is designed with the three answers Ring++ had to add from the outside as part of the language itself. It will be announced on its own.