A general-purpose language · Experimental
Start with the language.
Build what matters.
Ziran turns checked .zi modules into native code or portable programs. Write a command-line tool, a library, a service, or an interface without making the language depend on a UI framework.
Open source Checked modules Honest target coverage
Score :: struct {
value: s32;
bonus: s32;
}
Total :: (score: Score) -> s32 {
return score.value + score.bonus;
}
Answer :: () -> s32 {
score: Score = Score.{
value = 40,
bonus = 2
};
return Total(score);
}
Records, enums, functions, imports, generics, fixed arrays, and borrowed slices in the tested subset.
The checker validates source and saved IR before native generation or portable execution.
Generate C, C++, or native Go. Bundle supported programs as .zib.
The pipeline
One language.
Explicit edges.
Ziran keeps the language, its checked intermediate form, and its portable runtime in one repository. A target that cannot support a feature must report it instead of silently changing the program.
Read the architectureMade to compose
Ziran is the language.
Kryon is a library.
Kryon’s UI modules are written in Ziran and imported like any other library. Widgets, layout, styling, and rendering belong to Kryon; they are not special language syntax. A Ziran program with no Kryon import needs no graphics runtime.
The two-repository migration is still underway. Kryon’s checked modules build, while platform integration and downstream application cutover need more work.
Explore KryonCurrent state
Useful now.
Still experimental.
The compiler and portable runner support a tested subset; neither full Jai syntax nor complete backend parity is finished. Owned growable collections, general law proofs, automatic parallel execution, and GPU execution remain planned work.
Read the implementation status