The Vitte Language

Readable systems code, without the noise.

Vitte is a pragmatic systems language focused on clarity, explicitness, and tooling that can actually keep up. It favors structure over magic, and ships with a real compiler pipeline you can inspect.

Version 2.0.0
Focus Kernels, embedded, tooling
Style Explicit, predictable
Vitte in 30 seconds
space std/os/user

use std/core/types.string
use std/core/types.i32

#[extern]
proc open_read(path: string) -> i32

form User {
    name: string
    uid: i32
}

proc read_users() -> [User] {
    let out: [User] = []
    let fd = open_read("/etc/passwd")
    if fd < 0 { give out }
    give out
}
Structured syntax
Modules, forms, picks, and procs designed for tooling.
Transparent pipeline
Frontend → HIR → MIR → backend, inspectable at every step.
Practical targets
Native, Arduino, kernel-style builds, no ceremony.

Start Here

Jump into the book or pick a focused guide.

Design Principles