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
- Run Jazz: install the toolchain and work through the first program.
- Learn the language: start with functions, then continue to patterns and modules.
- Look up an API: browse the standard-library modules.
- Understand compilation: follow the architecture and pipeline.
- Follow development: check the current status and roadmap.
Jazz is pre-1.0. The project status distinguishes current behavior from partial and planned work.