Announcement 4 min read

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.


Introducing Zolo: A Modern Language Built for Speed

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.

enespt-br