Skip to main content

Jazz

A statically typed functional language for building programs from expressions and immutable values.

Type inference keeps local code concise. Algebraic data types, pattern matching, modules, and capability constraints make program structure explicit.

factorial.jz
factorial :: Int -> Int.
factorial =
\|(0) -> 1
|(n) -> n * factorial (n - 1).
factorial 6.
factorial 6720

Documentation

Learn

Run a program, then learn how Jazz evaluates and organizes code.

Standard Library

Look up types and functions in Prelude and the bundled modules.

Reference

Check exact language, runtime, command-line, and diagnostic rules.

Compiler

See how a program moves from source to analysis and execution.

Project

Check current capabilities, planned work, and contribution guidance.