Zane is a systems programming language built around a simple idea: the compiler should keep the intent you wrote down, and turn strictness into performance instead of ceremony. It gives you deterministic memory management with no garbage collector and no lifetime annotations, without giving up safety.
package hello;
import core$;
Unit main() {
console Console(@program$console);
console!print("Hello, Zane!");
return Unit();
}
Zane is young and changes quickly. Its compiler works and is released, but there is no tutorial yet: the specification is the reference.
- Try it: install the
zanecommand and follow its first-project steps. - Learn the ideas: read the spec's
foundations.md, then the reading order in the spec README. - See real code: the
corepackage and its tests are written in Zane.
Zane gives inherited language design no special authority. Existing languages are things to investigate, not templates to follow. Every feature and restriction is expected to earn its place from first principles rather than from convention.
That also means making deliberately strong claims. Strong claims are easy to falsify; when one breaks, the counterexample exposes a requirement the design was missing. Zane's own decisions are subject to the same treatment — nothing is preserved merely because we already designed it that way.
The longer reasoning, including the bets that survived and the ones that did not, lives in the specification's design stories.
| Repository | What it is |
|---|---|
| zane | The zane command: create, build, run and test projects. Start here. |
| spec | The language specification and its design stories. |
| compiler | zanec, the compiler that zane runs. |
| core | The core and math packages: numbers, text, lists and control flow. |
| zane-nvim | Neovim support for Zane. |
| coda | Coda, the configuration format of Zane's project files. |
| tree-sitter-coda | A Tree‑sitter grammar for Coda. |
| logos | The Zane and Coda logos. |
The website, docs, template, test-package, checkpoint and
coderabbit repositories are not needed to learn or use Zane right now.
Zane is an open project and contributions are welcome — issues, pull requests, and discussion all help. Start with the contributing guide and the code of conduct, then pick a repository above and dive in.