Current implementationimplementation guide

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 for Apple Silicon. Download it from the downloads page. Other platform builds and a packaged command-line SDK 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, and Python. LLVM 18 or newer is optional. The portable interpreter and C materializer do not require LLVM:

cmake -S . -B build-portable -G Ninja -DZL_ENABLE_LLVM=OFF
cmake --build build-portable
ctest --test-dir 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.

Projected fromcontent/guides/getting-started.md