Skip to main content

Welcome to Zynx

Zynx is a statically typed systems programming language with an LLVM-based backend, combining high-level ergonomics—deterministic memory management and generics—with native-code performance.


At a Glance

  • Deterministic Memory: Ownership and borrow checking enforced at compile time.
  • Zero-Cost Abstractions: Generics and interfaces resolve via monomorphization to efficient C.
  • C Interoperability: Direct C API calls and header imports via bindgen.
  • Integrated Tooling: A single zynx binary for compiling, formatting, package management, and testing.

Core Concepts

  • Ownership & Memory: Precise control over allocation and cleanup. See Memory Model.
  • Explicit Error Handling: Error unions (T!) with try/catch propagation. See Error Handling.
  • Enums & Pattern Matching: Closed sets with exhaustive match control flow. See Enums.
  • Async/Await: Hot-start tasks with an explicit Future<T> model. See Async/Await.
  • Static Linking: Predictable, self-contained deployments by default. See Static Linking.

Quick Start

Your First Program

import std.os;

fn main() {
os.write("Hello, world!\n");
}

Run it directly:

zynx run main.zx

Next Steps

  1. Installation: Build the zynx compiler from source.
  2. Hello World: Walk through your first program and basic CLI usage.
  3. Language Reference: Explore types, control flow, and idiomatic Zynx.