Readable ownership
Use explicit in, inout, out, move, copy, and view capabilities
without spelling lifetimes throughout ordinary application code.
Z is an experimental native systems language with TypeScript-inspired syntax, deterministic cleanup, typed errors, memory-safe ownership, and direct interop with C, Objective-C, and selected C++ and Swift surfaces.
Readable ownership
Use explicit in, inout, out, move, copy, and view capabilities
without spelling lifetimes throughout ordinary application code.
Direct native APIs
Import real C-family headers, preserve native layouts and calls, and add
.zd contracts only when a header cannot express the facts Z needs.
Familiar, not JavaScript
Z borrows TypeScript’s approachable surface—not JavaScript’s runtime model. It compiles through readable C-family output to native binaries.
import console from "std/console";
struct Point { x: i32; y: i32;}
function main(): i32 { const point = Point({ x: 20, y: 22 }); console.log(`Z says ${point.x + point.y}`); return 0;}The core pipeline is intentionally conventional:
Z source -> semantic and ownership analysis -> C-family source -> Clang -> native binaryThat backend is part of the interop strategy: supported native calls remain direct calls rather than passing through a VM or universal foreign-function runtime.