Variáveis e Tipos
Bindings (let/var), anotações e os tipos embutidos principais.
Variáveis e Tipos
Variáveis e o raciocínio local de tipos estão entre as partes mais estáveis da superfície atual da linguagem. Esta página foca nas formas que você pode mostrar com segurança em exemplos hoje e em como elas interagem com o stack atual do checker.
Contrato atual
leté a forma padrão de binding imutável.varestá disponível para locais mutáveis e estado no estilo de laços.- A inferência local direta funciona bem, mas anotações explícitas ainda são a forma mais segura de documentar valores que interagem com unidades, efeitos ou fronteiras epistêmicas.
- Bindings locais no estilo tupla, array e escalar continuam sendo bom material de ensino, porque aparecem consistentemente em exemplos e testes.
Padrões comuns
let x = 42
let ratio: f64 = 0.5
let pair = (x, ratio)
var total = x
total = total + 1
Onde inspecionar o checker
self-hosted/check/types.sioeself-hosted/check/infer.siosão os módulos mais relevantes para tipagem local e inferência.self-hosted/check/env.siorastreia o modelo de ambiente em evolução para bindings.self-hosted/check/units.sioeself-hosted/check/epistemic.siosão onde locais comuns começam a interagir com regras de tipagem específicas de domínio.
Orientação para código real
- Use locais inferidos para valores pequenos e óbvios, e anotações explícitas onde você quer que a documentação ou os diagnósticos permaneçam inequívocos.
- Trate com desconfiança exemplos antigos que pareçam demais com Rust, Julia ou Python; o Sounio tem sua própria sintaxe e semântica.
- Na dúvida, valide o trecho exato com
souc checkem vez de confiar na memória.