Nishi FamilyCompare › NishiLang and Compiler Toolchain

Nishi vs the Field

NishiLang and Compiler Toolchain — mechanically measured, liar-killed, sovereign.

Nishi vs Rust and Zig and Go and Elm

How this is scored. Every Nishi cell is measured: the generator reads the real organ source on disk and requires the implementing symbol to exist (no self-grading). Competitor cells record documented capability presence. Best=leads this axis, Yes=present, Part=partial, No=absent. This is capability presence, not depth or scale: the majors lead on index size and neural ranking. Nishi's genuine exceeds are the sovereignty / neutrality / determinism axes.
CapabilityNishiRustZigGoElmNotes
Self-hosted sovereign compiler (native x86-64 ELF)YesYesYesYesNoSelf-hosts through nx_cc_sovereign.elf; equiv gate 10/10 GREEN + self-host gen2/gen3 (blessed 2026-07-07); Elm compiler is Haskell-hosted
Optimization pipeline (const-fold SCCP mem2reg GVN CSE LICM DSE DCE)YesBestYesYesYesAbout O1-class today; LICM correctness-gated; Rust rides LLVM full O3 depth
Generics + monomorphizationYesYesYesYesYesFull monomorphization port landed; Go added generics in 1.18
Sum types + pattern matchYesYesYesNoBestPayload ctor and match probes re-verified run-exit=0 (2026-07-09, earlier SIGSEGV fixed by the 07-07 bless); Go lacks sum types; Elm ADTs are the bar
Threads / parallel runtimeYesYesYesBestNoRing-arena pool, measured 7x pooled speedup (2026-07-06 gate); Go goroutines lead; Elm has no threads
Bounded-loop safety primitives (JPL Rule 2)YesNoNoNoNonx_loop watchdog and settle primitives; peers leave loop bounds to external lint standards
WebAssembly targetYesBestYesYesNoOwn .nx to .wat to .wasm chain (nx_wat_compiler); Rust wasm ecosystem leads; Elm targets JS only
RISC-V targetYesYesYesYesNoSecond native backend; the linear-scan allocator (nx_regalloc, Poletto-Sarkar) is wired HERE, not x86
In-repo compiler fuzz generatorYesPartPartPartNoShape-axis generator found a real nx_cc bug (about 1500 early-exit blocks = empty .s, 2026-07-05); peers rely on external fuzzers (rustlantis, go-fuzz)
Differential EMI oracle on the compiler gateYesPartPartPartNoBaseline-vs-challenger build+stdout byte-equal + self-host stage; gate 10/10 GREEN (2026-07-07); born catching a silent optimizer miscompile
Per-function miscompile bisectorYesPartNoNoNoFunction-splice frankenbuild names the breaker function; Rust cargo-bisect-rustc bisects nightlies, not functions
Compiler health witness, autonomously drivenYesYesYesYesYesGenerate-build-verify witness; nx_exec_engine drove it 3/3 GREEN autonomously (2026-07-06)
Never-brick compiler bless (equiv-gated install + rollback)YesYesYesYesYesRefuses install unless differential equivalence is GREEN; byte-identical corpus check
Equality-saturation engineYesNoNoNoNoEngine complete with union-find and constfold rules but NOT wired into any backend yet (honest); peers do not ship eqsat either
Energy measurement infra (RAPL)YesNoNoNoNoProbe reads energy_uj; zero measured Joules vs C yet (X-PERF-002 open) -- beat-C-on-energy is UNMEASURED
Competitive native speed vs CNoBestBestYesNoMeasured honest: 3.65x slower than gcc -O0, Stabilizer-validated (2026-05-20 bench); root cause = stack-machine x86-64 backend with regalloc wired only into RISC-V
Call arity + param-type checkingNoYesYesYesYesIn-source admission at nx_parse.nx:627 (MVP: no arity or param-type check); a missing argument compiles silently and the callee reads a garbage register -- cost 4 debug cycles on 2026-07-09
Match exhaustiveness checkingNoYesYesNoBestElm made exhaustive ADTs famous; ours parses match but never checks variant coverage
Memory safety (bounds, ownership, use-after-free)NoBestPartPartYesRust borrow checker is Best; Zig runtime safety modes; Go GC plus bounds checks; raw pointers here SIGSEGV
Rich diagnostics in the shipping compiler (caret, did-you-mean, multi-error)NoYesYesYesBestSovereign compiler is first-error parse_die (nx_parse.nx:85); the caret and Levenshtein UX exists only in the retired C bootstrap parse.c -- wrong side of the sovereignty boundary; Elm is Best
Closures / lambdasNoYesYesYesYesFunction pointers only (VK_FUNC_ADDR); no capturing closures
Namespaces / qualified importsNoYesYesYesYesFile-import only; name collisions caught by lint not language (22 shadow collisions found 2026-06-23)
Language server / editor integrationNoBestYesBestYesrust-analyzer and gopls lead the field; we ship none
Canonical source formatterNoYesYesBestYesgofmt set the standard; zig fmt and elm-format follow; we ship none
Incremental compilation / build cacheNoYesYesYesYesEvery peer caches compilation; we rebuild whole modules each time
Debug info (DWARF / source maps)NoYesYesYesPartEmitted ELFs carry no source-line mapping; printf-and-bisect is the debug story
Free multi-line expressionsNoYesYesYesYesLine-oriented statements: a continuation line opening with a binary op silently becomes a dead statement (caused the det2x2 bug, runtime-wide sweep 2026-07-09); every peer parses free layout
Working floating point (f64)NoYesYesYesYesf64 lexes and compiles but arithmetic codegen is wrong: nx_probe_float run-exit=1 re-verified 2026-07-09 (1.5+1.5 not 3.0); deliberately low priority under the no-float determinism doctrine
Out-of-bounds write and read prevented (CWE-787 and CWE-125 class)NoBestPartYesYesRaw pointers SIGSEGV; the public dumps put this class at the top of what bites C (CISA roadmap banked 2026-07-10); our own 2026-07-08 READ-TO-NUL over-read trap was exactly this class in the wild
Use-after-free prevented (CWE-416 class)NoBestYesBestBestArena no-free doctrine mitigates in practice (nothing frees), but no checker ENFORCES it; Rust borrow checker is the bar
Integer overflow checked (CWE-190 class)NoPartBestNoParti64 wraps silently; our own register carries the class: immediate shift over 31 blanks the emitted .s (2026-07-06); Zig safe-mode checks lead; Go wraps by definition
Null and sentinel-zero deref prevented (CWE-476 class)NoBestBestPartBestSentinel-zero-as-null is our recurring P2 meta-class; Option and Result EXIST in the stdlib but nothing enforces their use; Elm ships no null at all
Data-race prevention (CWE-362 class)NoBestNoPartYesThread pool is real (7x measured) but there is no Send-Sync-class typing; Go ships a race detector tool
Living bug-class ledger wired to language evolutionYesPartPartPartPartF1-F16 taxonomy + P1-P10 meta-patterns + the nx_cc trap register drive make-it-unrepresentable rungs; peers have public bug trackers (the dumps we bank) but not a ledger wired to language change
Sovereign whole-stack toolchain (language compiler assembler runtime -- zero LLVM GCC libc beneath)BestNoNoPartNoThe entire chain nx_cc to nxasm_x86 to ELF is ours bits-up and compiles on the NAS over the mgmt API (build-over-API GREEN 2026-07-06); Rust and Zig sit on LLVM; Go owns its backend but links foreign substrate below
Integer-deterministic no-float doctrine (cross-platform bit-exact by construction)BestNoNoNoNoA 100 percent integer LLM greedy-matches the float reference 4-for-4 (ledger AHEAD, 2026-07-09); gate-grounded across the codec and compute censuses; no peer ships float-free determinism as language doctrine
coverage 500/1000EXCEEDS 2PRESENT 16ABSENT 18
Honest verdict. NishiLang is a REAL self-hosted systems language — sovereign compiler, generics, sum types, two native backends, wasm, and a compiler self-healing loop (fuzz generator + EMI oracle + bisector + never-brick bless) that most toolchains do not carry in-repo. It is not yet a peer of Rust, Zig, Go, or Elm on the axes the public bug dumps say matter most: no memory-safety enforcement, no arity or exhaustiveness checking, no rich diagnostics in the shipping compiler, no LSP, and measured 3.65x slower than gcc -O0. The two genuine exceeds are structural: the whole toolchain is ours bits-up, and the no-float integer-determinism doctrine is proven at LLM scale. The climb: safety checks the language can enforce, the diagnostics port, regalloc on x86-64, and the tooling ring (LSP, formatter, incremental builds).

Generated by nx_swcompare_matrix (sovereign NishiLang organ) from knowledge/compare/lang.matrix — every Nishi cell verified against real organ source on disk. Zero JS, zero trackers.