// previsível por design

Uma linguagem que corre
exatamente como se lê.

Pequena e explícita, sem fluxo de controlo escondido e sem coerção implícita. Interpretador tree-walking em Rust, e binários nativos sem runtime.

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

// o flow corre o bloco do chamador em cada 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 // binário nativo de 33 KB, arranca em microssegundos

As instruções terminam na palavra-chave seguinte. Os tipos nunca fazem coerção sem tu saberes. O que escreves é o que corre.

Começar

Da instalação ao binário nativo em três passos.

01 / instalar

Obter o binário

Uma linha coloca o syt no teu PATH, verificado por checksum.

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

Criar um projeto

O syt init cria um syt.toml e o src/main.syt.

$ syt init backend // edita src/main.syt
03 / correr ou compilar

Interpretar, depois compilar

Itera com run, distribui um binário com build.

$ syt run $ syt build -o app

Porquê Syntella

Superfície pequena, sem surpresas.

As funcionalidades que te apanham desprevenido noutras linguagens simplesmente não estão aqui.

Sem coerção implícita

Com anotações, int + float é erro de compilação. Os tipos ficam o que declaraste.

flow e yield

Um primitivo para callbacks de iteração. Um corpo flow corre o bloco do chamador em cada yield.

defer e erros tipados

Limpeza à saída do scope, em ordem inversa. Os erros são valores, não exceções. Sem try, sem catch.

Concorrência estilo Go

Canais, spawn e select. CSP completo, parte da linguagem, não uma biblioteca.

Binários nativos

O syt build compila via LLVM para um executável autónomo. Sem runtime, sem VM.

Uma só toolchain

Servidor HTTP, gestor de pacotes, LSP e formatter. Toda a toolchain é um binário: syt.

Instalação

Um comando por plataforma.

Binários pré-compilados para Linux, macOS e Windows, publicados em cada release e verificados por checksum.

Linux e macOS
$ curl -fsSL dl.syntella.dev/install.sh | bash
Windows
> irm dl.syntella.dev/install.ps1 | iex
A partir do código-fonte
$ cargo build --release