v1.0.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
102
Stdlib APIs
5
Loop Forms
v1.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 5 loop forms
# c-style 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)
}

# iterate map
loop (k in person) {
  screen(k)
}
Maps & Lists built-in types
# typed list
List<int> nums = [1, 2, 3]
nums.push(4)
int len = nums.length

# map
Map person = {
  name: "Achu",
  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 hello.zen

Read the Docs GitHub โ†’