Noções básicas

Texto fonte e nomes

.sd os arquivos são UTF-8. Strings/comments pode conter Unicode; os identificadores permanecem ASCII. Todos os nomes comuns, incluindo tipos e variantes, estão em minúsculas. As constantes são a caixa superior da cobra.

// ação and 日本語 are valid comment text
const MAX_ITEMS = 64
let greeting = "olá"

O literal possui tipo emprestado estático str. UTF-8 válido de propriedade usa string. len retorna comprimento em bytes; As operações Unicode scalar/grapheme pertencem a bibliotecas.

Ligações

let answer = 42
let mut count: usize = 0
let linear ticket = acquire_ticket()

As ligações são imutáveis por padrão. A mutação por meio de uma ligação requer mut. linear cria uma obrigação de consumo exatamente uma vez.

Tipos principais

Agregados

struct point { x: i64, y: i64 }
let origin = point.{ x: 0, y: 0 }

type color { red green blue }
let selected = color.green

O compilador limpo não tem enum palavra-chave; use um ADT sem carga útil. Os sindicatos brutos exigem unsafe construction/access.

Expressões

Blocos, ife match valores de rendimento. Use a expressão final para um resultado implícito e ret para retorno antecipado. A aritmética inteira segue as regras determinísticas em SEMANTIC_RULES.md; a indexação segura permanece verificada nas compilações de lançamento.

O compilador limpo implementa digitado phase-1/2 f"..." interpolação para texto, bool, inteiros, flutuantes, especificações de formato e estática display/debug características. Usar {{/}} para colchetes literais e .to_string()? somente quando uma string contígua de propriedade é necessária. A impressão continua sendo uma operação explícita da biblioteca.