Skip to main content

Jazz documentation

Jazz is an experimental, statically typed functional language. Programs are expressions built from immutable values and functions. Algebraic data types and pattern matching describe data and its alternatives; modules define namespace boundaries; capabilities express the operations required by polymorphic code.

Start with the getting-started overview, then use the language guide to understand how Jazz behaves. Use the reference when you need an exact rule.

Choose a path

Jazz is pre-1.0. The project status distinguishes current behavior from partial and planned work.