// predictable by design

A language that runs
exactly as it reads.

A small, explicit language with no hidden control flow and no implicit coercion. Tree-walking interpreter in Rust, native binaries with no runtime.

$ curl -fsSL dl.syntella.dev/install.sh | bash
main.sytsyntella
use io

// flow runs the caller's block at each yield
flow repeat(n) {
    for i in range(n) { yield }
}

func main() {
    defer io.println("bye")
    repeat 3 { io.println("tick") }
}
$ syt run main.syt tick tick tick bye $ syt build main.syt // 33 KB native binary, starts in microseconds

Statements end at the next keyword. Types never coerce behind your back. What you write is what runs.

Get started

From install to native binary in three steps.

01 / install

Grab the binary

One line drops syt onto your PATH, checksum verified.

$ curl -fsSL dl.syntella.dev/install.sh | bash
02 / write

Scaffold a project

syt init writes a syt.toml and src/main.syt.

$ syt init backend // edit src/main.syt
03 / run or build

Interpret, then compile

Iterate with run, ship a binary with build.

$ syt run $ syt build -o app

Why Syntella

Small surface, no surprises.

The features that catch you off guard in other languages simply are not here.

No implicit coercion

With annotations, int + float is a compile-time error. Types stay what you declared.

flow and yield

One primitive for iteration callbacks. A flow body runs the caller's block at each yield.

defer and typed errors

Cleanup at scope exit, in reverse order. Errors are values, not exceptions. No try, no catch.

Go-style concurrency

Channels, spawn, and select. Full CSP, part of the language, not a library.

Native binaries

syt build compiles through LLVM to a standalone executable. No runtime, no VM.

One toolchain

HTTP server, package manager, LSP, and formatter. The whole toolchain is one binary: syt.

Install

One command per platform.

Pre-built binaries for Linux, macOS, and Windows, published on every release and checksum verified.

Linux and macOS
$ curl -fsSL dl.syntella.dev/install.sh | bash
Windows
> irm dl.syntella.dev/install.ps1 | iex
From source
$ cargo build --release