Targets · Zig · Native modules
Native modules
The hand-written, per-platform code behind NATIVE functions.
Contents
How a Program becomes Zig, in parts. Start with the introduction, then follow each part into the rendered output and the runtime it links against.
- Introduction — what the Zig target is, and how to read the rest of this section.
- Capabilities — which high-level features are possible, built in or through a library.
- Example — a full program using every keyword, and the Zig it renders to.
- Naming considerations — how Program's dotted names are carried into Zig.
- Entry point — starting a program from
mainwith its drivers. - Drivers — the native drivers that provide the interface, console and network.
- Runtime — the Reactive and Context machinery the rendered code links against.
- Native modules — the hand-written Zig behind
NATIVEfunctions. - Keywords — how each of Program's keywords renders to Zig.
- Project setup — the files and commands to build and run the rendered program.
- Reserved words — the words Zig keeps for itself, and how a colliding name is escaped.
Hand-written Zig behind NATIVE
A NATIVE function needs a zig
NATIVE body before it can be built for Zig; that hand-written body is dropped in
where the function is called, wrapped so its inputs arrive as plain Zig values. As on
JavaScript, the drivers are native code
too, and the runtime (Reactive, Context) is itself a native module the rest imports.