Skip to content

Zryna

One source. Three targets. Explicit semantics all the way down.

Familiar at the surface, strict underneath

Section titled “Familiar at the surface, strict underneath”

JavaScript-friendly syntax

The language is designed to feel natural to JavaScript and TypeScript developers.

Exact types

Types such as i32 carry defined width, signedness, and overflow behavior across targets.

One verified IR, three targets

The design requires every backend to consume the same verified Universal IR instead of translating through another target.

add.zry
export function add(left: i32, right: i32): i32 {
return left + right;
}

A library-level proof emits signed 32-bit JavaScript from an already constructed verified IR program. The syntax reader is not connected to this backend yet.

The intended source-to-artifact pipeline is:

.zry source
replaceable frontend provider
strict Zryna semantics
verified Universal IR
├── JavaScript backend → .js
├── WebAssembly backend → .wasm
└── native MIR → codegen → executable