Install the preview, build Stage0, and run a first module.
Getting started
Status: implementation guide. ZergLang is an active language experiment, not a stable production toolchain.
The fastest way to explore the current language is the ZergLang IDE preview or the standalone ZLM command-line toolchain for Apple Silicon. A download appears on the downloads page only when its signed release cohort validates. See the ZLM toolchain guide for installation, project commands, conversational use, harness integration, and updates. Other platform packages are not published yet.
The repository contains a C17 Stage0 compiler. A minimal module looks like this:
module answer;
public value App {
public algorithm message main(type: Class<Self>) -> Int32
ensures { result == 42; } effects {} {
return 6 * 7;
}
}
Build Stage0 from source
You need a C17 compiler, CMake 3.25 or newer, Ninja, Z3, OpenSSL 3, Rust 1.77
or newer with Cargo, and Python. LLVM 18 or newer is optional. The portable
interpreter and C materializer do not require LLVM, but the default build still
uses Cargo for the managed zlm driver:
cmake -S zerglang -B zerglang/build-portable -G Ninja -DZL_ENABLE_LLVM=OFF
cmake --build zerglang/build-portable
ctest --test-dir zerglang/build-portable --output-on-failure
The implementation supports a bounded, deliberately fail-closed subset of the normative grammar. Check the Core-0 edition for the language authority and the Core-1 preview for the five-domain work.
Understand a result
Successful interpretation, JIT compilation, and ahead-of-time compilation are different execution paths over one checked module. A construct being present in the grammar does not mean Stage0 executes it. Unsupported constructs return structured diagnostics instead of silently changing their meaning.