Skip to content

Language Overview

Accepted

Accepted as the V1 language identity and implementation strategy baseline; feature-specific contracts live in the focused topic pages and Scope Backlog.

Catalyst is a general-purpose, performance-first native programming language. It aims to combine explicit runtime behavior, composable type semantics, deterministic comptime, visible ownership, native systems reach, and first-class realtime constraints.

The language is not a DSP-only DSL. DSP and realtime kernels are the first validation target because they expose hidden allocation, layout ambiguity, aliasing assumptions, blocking behavior, and backend surprises quickly.

Identity

Catalyst should be:

  • native and ahead-of-time compiled
  • explicit about allocation, IO, blocking, dispatch, and other costs
  • ergonomic enough for large programs
  • predictable enough for realtime systems
  • tooling-friendly even with heavy comptime
  • general-purpose rather than domain-specific

Influences

From Zig:

  • explicit cost model
  • allocators and visible memory behavior
  • comptime
  • compact syntax
  • native tooling

From TypeScript:

  • composable types
  • unions and intersections
  • structural constraints
  • strong inference
  • ergonomic API expression

From Rust:

  • explicit ownership vocabulary
  • move-aware resource flow
  • strong correctness culture
  • pattern matching ergonomics

From C++:

  • native systems programming reach
  • value types and predictable layout
  • zero-cost abstraction goals
  • interop expectations

Catalyst intentionally avoids TypeScript-style type-level programming complexity, Rust-style pervasive lifetime proofs, Zig-style tooling opacity around heavy comptime code, and C++-style dependency complexity.

Implementation Strategy

The compiler starts small: functions, basic types, basic expressions, semantic analysis, structured IR, and a C backend. Larger language features should fit the pipeline without requiring backends to inspect AST or SIR directly.