TL;DR: Zap is something like Go with its pain points fixed: better error handling, real enums with pattern matching, practical generics, if-expressions, and full target support via LLVM.
Zap is a modern, high-level systems programming language compiled to native code (LLVM backend), using Automatic Reference Counting (ARC) instead of a Garbage Collector (GC).
Zap is built for developers who want to write high-performance applications -servers, CLI tools, tooling, and embedded software quickly, safely, and without frustration.
Zap behaves very similarly to Go by design. It does not try to reinvent systems programming. Its goal is to solve the real, long-standing problems of Go.
try / catch / throw
No more if err != nil everywhere.
- real enums
- exhaustive pattern matching (
match,each)
Correctness enforced by the compiler.
- full and static
- comptime-inspired
- simple, predictable, and powerful
x = if cond { a } else { b }Less boilerplate, clearer intent.
- LLVM backend
- small binaries
- fast cold starts
- targets: x86, ARM, RISC-V, WebAssembly, embedded
Zap is at an early stage feedback directly shapes the language.
You can help by:
- opening issues
- discussing language design
- implementing features
- improving diagnostics
- writing documentation
Repository: https://github.com/thezaplang/zap
Zap
Go, without Go problems