Compiles to Zig, then native
hello.weld → hello.zig → a small, static binary via Zig's LLVM-free cross-compiler. Cross-compile to aarch64, riscv64, and more for free.
Statically typed, then native. One toolchain dependency — the Zig compiler.
type User = { id: int, name: string, email: string? }
route GET "/users/:id" (id: int) -> User {
respond User { id: id, name: "Ada Lovelace", email: "ada@example.com" }
}$ weld app.weld --emit bin -O ReleaseFast && ./app &
$ curl localhost:8080/users/42
{"id":42,"name":"Ada Lovelace","email":"ada@example.com"}You never write JSON: return a record or list and Weld encodes it; return a string and it is sent as text.