v1.3.0 — Stable Release

The Language Built for Precision

Statically compiled. LLVM-powered.
Every construct. Deterministic. No surprises.

Get Started $ zen run hello.zen
LLVM
Backend
177 +
Stdlib APIs
4
Loop Forms
v1.3.0
Feature Complete
scroll

Clean. Precise.
Unambiguous.

Types & Variables static typing
# primitive types
int    x = 42
double pi = 3.14
string name = "zen"
bool   flag = true

# type inference
auto result = x * 2

# constants
int const MAX = 1000

# reactive (re-evaluates on change)
reactive string msg = `val: ${x}`
Functions first-class
# typed function
fn add(int a, int b) int {
  return a + b
}

# auto return type
fn greet(string name) auto {
  return `Hello, ${name}!`
}

# rest parameters
fn sum(int vals...) List<int> {
  return vals
}
Control Flow 4 loop forms
# normal loop
loop (int i = 0; i < 10; i++) {
  screen(i)
}

# while
while (x > 0) { x-- }

# do while
do {
  screen(x)
} while (x > 0)

# iterate List or fixed size arrays kr rest params
loop (n of nums) {
  screen(n)
}
Maps & Lists built-in types
# typed list
List<int> nums = [1, 2, 3]
nums.push(4)
int len = nums.length

# map
Map person = {
  name: "Jishith",
  age: 25
}

bool has = person.has("name")
person.remove("age")

Designed with
Intent.

LLVM Backend
Compiles directly to LLVM IR, giving you native performance with access to decades of compiler optimization work.
native binary
Compile-Time First
Type resolution, semantic checks, and error detection happen at compile time. Bounds and key access are caught at runtime with precise error messages.
no silent failures
Module System
Clean export/import model with strict ordering rules. No circular dependencies, no ambiguous resolution.
explicit exports
102 Stdlib APIs
Math, strings, I/O, HTTP, time, regex, JSON path navigation, terminal colors — batteries included.
stdlib v1
Reactive Variables
Declare variables that automatically re-evaluate when their dependencies change. First-class language feature.
reactive keyword
Self-Hosting in Progress
The Zen lexer is already written in Zen itself. Full compiler bootstrap is underway.
bootstrapping
If it cannot be
precisely defined,
it does not exist
in the language.
No implicit coercions
Types never silently convert. What you write is what the compiler sees.
No hidden transformations
No magic behind the scenes. Every operation has a deterministic IR output.
Programmer and compiler agree
The spec is the truth. Behavior is never undocumented or implementation-defined.

Native speed.
Minimal runtime.

Compiles to Native Binary
Zen emits LLVM IR and compiles to a native binary. No VM, no interpreter, no JIT warmup.
Minimal overhead
No Garbage Collector
Memory is managed explicitly with free(). Predictable performance, no GC pauses.
manual memory
LLVM Optimizations
Leverages the full LLVM optimization pipeline — inlining, dead code elimination, and target-specific codegen.
llvm backend

Ship your first
Zen program.

$ curl -fsSL https://raw.githubusercontent.com/ jishith-dev/Zen/main/install.sh | bash

// then: zen run main.zen

Read the Docs GitHub →