Zore

Simple code. Strong guarantees.

Zore is a natively compiled language with ownership-based memory safety, explicit errors, and deterministic resource cleanup.

Early alpha · v0.1.0-alpha.1Early development. The compiler supports a growing subset; compatibility is not stable.
main.ore
package main

func main() {
    println("Hello, Zore!")
}
$ zore run main.ore
Hello, Zore!

Memory safety by design

Ownership and borrowing make resource lifetimes explicit. No garbage collector.

One model for concurrency

Async/await, tasks, and channels follow ordinary ownership rules. Explore concurrency.

Familiar, readable syntax

Errors are values. Handle them explicitly or propagate with ?, preserving deterministic cleanup.

Built in the open

An open-source alpha with public specification and conformance evidence. See current boundaries.

Quick start

Your first “Hello, Zore!”

Install the alpha archive for your platform, then save the example above as main.ore.

v0.1.0-alpha.1Download the alpha
Check, then runAfter installation
zore --version
zore check main.ore
zore run main.ore

Native builds need rustc 1.98.1, clang with LLVM 15+, and a host linker. Windows also needs Visual Studio C++ Build Tools and the Windows SDK. Read the installation guide →

A little less to keep in your head

Get to know the language.

A few clear rules connect the code you write to the program that runs.

01 / OWNERSHIP

Borrow by default.

Plain parameters borrow. Use mut for mutable borrowing and own to transfer ownership. Function signatures tell you what they need.

Explore the language
02 / NATIVE TOOLS

From source to a program.

Check and format without a native toolchain. Build, run, and test with Rust, clang, and your platform’s linker.

Set up the alpha
03 / LEARN BY DOING

Start small. Follow the code.

Look through programs covering the implemented language, from simple functions to collections and concurrent work.

Browse the examples