Familiar TypeScript syntax
Classes, interfaces, generics, and type annotations that read like TypeScript. If you know TS, you already know most of Zeus.
alpha · compiled · statically typed
Zeus is a new language with a rich, static type system that feels like a subset of TypeScript — then compiles straight to a native binary via LLVM. It keeps the ergonomics you love and drops JavaScript's dynamism, landing in the sweet spot between Rust and Go: an approachable systems language.
Install
brew tap ameerthehacker/zeus && brew install zeus macOS · Apple Silicon & Intel · Linux coming soon
let name = "Zeus"
console.log(`Hello world, I'm ${name} 👋!`) Why Zeus?
Zeus is a new language that keeps what's great about TypeScript, drops JavaScript's dynamism, and compiles to native code — an approachable systems language that sits between Rust's power and Go's simplicity.
Classes, interfaces, generics, and type annotations that read like TypeScript. If you know TS, you already know most of Zeus.
Compiles straight to a small, self-contained native executable via LLVM. No interpreter, no VM, instant startup.
fs, os, path, json, crypto, datetime, and a test runner ship in the box — Node/TS parity without the npm sprawl.
A rich type system with no borrow checker to fight and no ceremony to wade through — the sweet spot between Rust and Go.
Quick example
If you have written TypeScript, this reads exactly how you would expect — inheritance and polymorphism included — but it compiles to a standalone native binary.
extendsclass Shape {
public area(): i32 { return 0; }
}
class Square extends Shape {
public side: i32;
constructor(side: i32) { this.side = side; }
public area(): i32 { return this.side * this.side; }
}
class Rect extends Shape {
public w: i32;
public h: i32;
constructor(w: i32, h: i32) { this.w = w; this.h = h; }
public area(): i32 { return this.w * this.h; }
}
// One function, any Shape — the override is chosen at runtime.
function areaOf(shape: Shape): i32 {
return shape.area();
}
console.log(areaOf(new Square(5)) + areaOf(new Rect(3, 4))); // 25 + 12 => 37 Install the compiler and ship your first native binary in minutes.