Guia da Linguagem
Sintaxe e semântica centrais, alinhadas ao compilador atual.
Guia da Linguagem
A superfície da linguagem que você deve ensinar hoje é o subconjunto conservador que aparece repetidamente em exemplos, testes e no artefato verificado atual. Esta página é um mapa dessa superfície de ensino estável, não uma promessa de que toda forma sintática histórica ou DSL de pesquisa presente no repositório está igualmente disponível.
O que pertence à superfície de ensino estável
- Bindings locais com
letevar. - Funções, blocos, tipos de retorno e anotações explícitas de efeito
with .... - Controle de fluxo como
if,while,forematch. - Ideias algébricas e epistêmicas centrais que podem ser demonstradas com fixtures verificadas, em vez de apenas com documentos de design.
Onde a implementação vive hoje
- O trabalho de parsing e gramática está concentrado em
self-hosted/lexer/eself-hosted/parser/. - A resolução de nomes vive em
self-hosted/resolve/. - A verificação de tipos e as verificações semânticas vivem em
self-hosted/check/, incluindo módulos dedicados para efeitos, verificações epistêmicas, unidades, ownership, traits e refinamentos. - Os documentos mais antigos do compilador do lado Rust continuam úteis como referências históricas de arquitetura, mas não são mais o melhor mapa primário da árvore de código-fonte ativa.
Sintaxe representativa
let value = 5
var count = 0
fn add(a: i32, b: i32) -> i32 {
a + b
}
fn main() -> i32 with IO {
if value > 0 {
println(add(value, count))
}
return 0
}
Como manter a precisão ao documentar sintaxe
- Prefira exemplos que possam ser validados imediatamente com
souc check. - Verifique afirmações mais avançadas contra
tests/run-pass/,tests/compile-fail/e o snapshot de features na documentação. - Se um recurso da linguagem é descrito apenas em uma nota de arquitetura extensa ou em um guia antigo, documente-o como intenção de design, a menos que você tenha uma fixture atual ou prova respaldada por artefato.