Introducing Koru
We’re excited to introduce Koru: an AI-first, event-driven systems programming language that extends Zig with powerful zero-cost abstractions.
Why Another Language?
Koru isn’t about replacing what works. It’s about adding a thin layer of event abstractions on top of Zig’s proven foundations. Every .kz file is valid Zig—we just prefix Koru constructs with ~.
Events as First-Class Citizens
The core idea is simple: events declare their inputs and possible output branches upfront.
~event parse { input: []const u8 }
| success { ast: AST }
| error { message: []const u8 } When you invoke an event, you must handle all branches explicitly:
~parse(data)
| success ast |> process(ast)
| error err |> log(err.message) No hidden exceptions. No unhandled cases. Just explicit, traceable control flow.
Why AI-First?
Event boundaries create natural bounded contexts that AI assistants understand intuitively. Each event is a clear contract—AI can implement a proc knowing exactly what inputs are available and what outputs are expected, without understanding the entire codebase.
Event Flow Example
Here’s how events chain together in a typical workflow:
Each arrow represents an event continuation with explicit branch handling.
What’s Next
We’re building in the open. The compiler is self-hosted (written in Koru), and we’re actively developing the standard library and tooling.
Stay tuned for more posts about phantom types, purity tracking, and metaprogramming with FlowAST.
This is a placeholder blog post. Real content coming soon!