Getting Started
Install
Section titled “Install”curl -fsSL https://zz-lang.pages.dev/install.sh | shgit clone https://github.com/zaidejjo/zzcd zzcargo install --path crates/zz_cliVerify the install:
zz --versionHello world
Section titled “Hello world”Create hello.zz:
name := input("What is your name? ")println("Hello, {name}!")Run it:
zz run hello.zzThe REPL
Section titled “The REPL”Start an interactive session with bare zz:
ZZ 0.1.0 — type-based languageType expressions to evaluate. :help for commands.zz> x := 4242zz> x + 143zz> func add(a: int, b: int) -> int { a + b }<func add>zz> add(3, 4)7Useful REPL commands: :help, :type expr to show a type, :clear to reset bindings, :quit to exit.
Your first real program
Section titled “Your first real program”func factorial(n: int) -> int { if n <= 1 { 1 } else { n * factorial(n - 1) }}
println("5! = {factorial(5)}")5! = 120Check, fix, format
Section titled “Check, fix, format”ZZ ships its diagnostics as commands:
zz check src/ # report errors and warningszz fix src/ # apply safe auto-fixeszz fmt src/ # format files in placezz eval "1 + 2" # evaluate one expression → 3Next steps
Section titled “Next steps”- Syntax — declarations, functions, control flow
- Language Reference — the full type system and semantics
- Standard Library — built-ins and modules
- Playground — run ZZ in your browser, no install needed