Introducing Zolo: A Modern Language Built for Speed
We built Zolo to bring Rust's expressiveness and Lua's speed together. Here's why, and what we built.
On this page
After months of development, we're proud to introduce Zolo — a modern programming language that brings the expressiveness of Rust's syntax, the lightness of Lua, and a fast VM implemented in pure Rust.
Why Another Language?¶
Lua is fast, embeddable, and battle-tested. But its 1-indexed arrays, lack of null safety, and minimalist syntax make it frustrating at scale. Rust is powerful and safe, but compiles slowly and has a steep learning curve.
Zolo sits between them: Lua-fast, Rust-expressive.
What Zolo Looks Like¶
// Null safety with optional chaining
struct User {
name: str,
email: str?,
}
let user = User { name: "Alice", email: nil }
let display = user.email ?? "no email"
print("User: {user.name} — {display}")// Pipe operator for functional flow
let result = [1, 2, 3, 4, 5]
|> Array.filter(|x| x % 2 == 0)
|> Array.map(|x| x * x)
|> Array.reduce(0, |acc, x| acc + x)
print(result) // 20// Decorators that actually do things
@memoize
fn fibonacci(n: int) -> int {
if n <= 1 { return n }
return fibonacci(n - 1) + fibonacci(n - 2)
}
@test
fn test_fib() {
assert_eq(fibonacci(10), 55)
}The VM¶
Zolo compiles to Lua 5.1 bytecode and runs on a custom VM written in Rust. This gives us:
- Zero GC pauses — generational garbage collector tuned for latency
- Predictable performance — no JIT surprises
- Embeddable — drop the VM into any Rust application
Tooling From Day One¶
We believe tooling is not optional. Zolo ships with:
- LSP — autocomplete, hover docs, go-to-definition, find references
- DAP — full debugger protocol (breakpoints, watch, call stack)
- Formatter — opinionated, fast, zero-config
- VS Code Extension — everything above, one click away
What's Next¶
- Package manager (coming Q2)
- Async/await with the Tokio runtime
- WASM target for browser execution
- More standard library modules
We're just getting started. Try Zolo today — cargo install zolo — and let us know what you think.