Values you can reason about
Structs, arrays, and strings are values: assigning one makes an independent copy, and parameters are read-only borrows.
Preview The compiler runs in your browser
Zero is a statically typed language with value semantics, deterministic cleanup without a garbage collector, structured concurrency, built-in derivatives, and compile-time code generation.
No install needed: every example on this site compiles and runs right here.
Zero keeps the everyday code short and makes the costly parts visible: copies, sharing, failure, and parallelism are all written down.
Structs, arrays, and strings are values: assigning one makes an independent copy, and parameters are read-only borrows.
Classes are shared through counted references and destroyed the moment the last one goes away, so destructors run at a known point.
A result can be a value or a named error. The type says which errors are possible, and
try, !!, and match handle them.
parallel for splits work across cores. Reductions and appends are
checked, so the result never depends on scheduling.
Write f'x for the derivative of f with respect to
x, or f' for the whole gradient. The compiler derives them.
$ runs ordinary Zero at compile time. Generators build declarations with
the compiler.ast API, and hygiene keeps their names apart.
Already comfortable in another language? The tutorial takes an afternoon.
Short, hands-on lessons. Each one runs in the browser and ends with an exercise.
Start learning →Every feature of the language, in the order you need it, with runnable examples.
Read the book →Every built-in type and function, and the complete language specification.
Look something up →