DEV Community

Corey Tasz
Corey Tasz

Posted on

Refusal as a feature: one source, identical Python/Go/JS — or don’t emit

Most multi-target / “write once” tools optimize for coverage. If a construct almost maps, they emit something close and hope.

CuNi does the opposite.

You write one .cuni source. The compiler emits to Python, Go, and JavaScript under an exactness contract: identical stdout on all three, or it refuses. There is no approximate mode.

Why refuse?

Silent drift is expensive. Teams paper over it with “known differences” docs. CuNi’s product surface is the gate itself:

  • cuni check emits and runs the gated targets and requires matching output
  • Free Studio (no install): cuni-studio.fly.dev — load the default sample → Run exactness → identical py/go/js or refuse → Publish can register a contract on Agent-Rider

The hosted demo gates the flagship trio (Python / Go / JS). The CLI can exercise a wider list for CI; Studio only promises the seats it actually runs.

What this is not

  • Not a claim of production maturity (v0.1.x, early)
  • Not a Haxe replacement (Haxe optimizes for breadth; we optimize for a refusal property on a small surface)
  • Not a ranking story about other languages

Try it

If you have a construct that should refuse — or one that refuses too eagerly — I want the failing case.

— Corey Tasz · Slid Phi Labs

Top comments (0)