LANGUAGE-TRACKER.md, at
the root of mzizi-dev/mzizi, is the one list of what Mzizi still needs before it can be
called a working programming language, stacked against the languages it aims to replace. By
the owner’s decision of 30 September 2026 it is the ultimate tracker: if a capability is not
✅ there, Mzizi does not have it, whatever any other page says. These docs take every
capability claim from it. This page summarises it at language main 62a0f32; read the
file for the evidence behind each row.
Status in the tracker is what the code on main does, never what an RFC designs:
Where Mzizi stands today
What exists is the front end of a language whose first domain is UI components:- Syntax: 23 keywords (
compiler/src/lex.rs), one component per file. - Types:
bool,int,text, enums with data columns, records,list(T),option(T)andevent(T)(RFC-0008). - Toolchain:
mz check(with--agent),mz fix,mz contract,mz outline, andmz buildfor a service only; a recovering parser, a resolver and a content-addressed IR. See the compiler. - Written in Mzizi: nine primitives, two component examples and one
service,
examples/registry.mz. - The backend slice (RFC-0011, language PRs #29–#33): a
servicewith HTTP routes and handlers, checked bymz check, run in process bymz contract, and lowered bymz buildto a local Rust + axum package, which CI compiles, tests and serves. Themzizi-bebenchmark arm, the probe cratemzprobeand backend task B1 exist; no backend episode has run.
fn body is
not modelled beyond emit, which is why the public benchmark suites are blocked: they need
functions.
Against the languages Mzizi aims to replace
Mzizi’s column from the tracker, condensed. The tracker also gives each incumbent’s answer (Python, Go, C++, TypeScript and Rust have every one of the first rows).
The two ✅ rows are where Mzizi is different on purpose. Every other row is work.
The work, tier by tier
Each row in the tracker has a “done when” acceptance test, and turns ✅ only when that test is onmain and green.
Tier 1: the core language (write any program)
Tier 1: the core language (write any program)
Tier 2: real programs (build, run and ship software)
Tier 2: real programs (build, run and ship software)
Tier 3: adoption (people and agents can use it every day)
Tier 3: adoption (people and agents can use it every day)
mz check --agent, mz fix) exists; the rest is
RFC-0012, a draft.
What each step unlocks for the benchmark
Phase 0’s goal cannot be tested beyond what the language can express (the benchmark):
The kill-criterion run has not happened. Nothing in the tracker is a claim that Mzizi is
better than any language; it lists what has to exist before that can be measured.
Milestones
1
M1, a language that computes
All of Tier 1 ✅. This unblocks the public suites. Not reached.
2
M2, a working programming language
Tier 1 plus P1–P6 ✅: you can write a general program in several files, use a Rust crate,
and build and run it. Only at M2 does the tracker say Mzizi is a working programming
language. Not reached.
3
M3, a language people choose
The rest of Tier 2 and Tier 3 ✅, and the kill criterion run and published. Not reached.