A cobertura de tradução é parcial. Consulte a fonte em inglês para a referência técnica completa. Ver versão em inglês →

Unidades de Medida

Defina e rastreie unidades físicas para reduzir bugs catastróficos de análise dimensional.

Unidades de Medida

Unidades de medida continuam sendo uma parte importante do modelo da linguagem, porque conectam o Sounio à correção científica, não apenas à estética sintática. A postura correta da documentação hoje é: unidades existem no design da linguagem e do checker, mas a aplicação ponta a ponta ainda precisa ser descrita de forma conservadora.

Contrato atual

  • A sintaxe de unidades e de quantities faz parte da história da linguagem e do trabalho ativo do checker.
  • O artefato verificado divulga unidades de medida como um recurso da linguagem.
  • A documentação pública deve continuar apresentando a aplicação de unidades como parcial, a menos que um caminho específico tenha sido verificado no artefato ou nos testes atuais.

Sintaxe de unidades no nível do modelo

unit kg;
unit m;
unit s;

let speed: Quantity[f64, m/s] = 3.0@Quantity[f64, m/s]

Onde inspecionar o trabalho de implementação

  • self-hosted/check/units.sio é o lugar mais direto para inspecionar o trabalho atual de verificação de unidades self-hosted.
  • docs/compiler/UNIT_RUNTIME_CHECKING.md e outros documentos relacionados do compilador fornecem contexto adicional sobre o modelo de aplicação pretendido.
  • Exemplos e testes científicos são o lugar certo para procurar as afirmações mais seguras no momento, especialmente onde unidades interagem com lógica de domínio.

Orientação para a documentação

  • Ensine unidades como parte do design da linguagem e do esforço atual do checker.
  • Evite prometer aplicação completa de incompatibilidade dimensional em todo caminho de backend, a menos que você tenha verificado isso diretamente.
  • Quando unidades importarem para afirmações de segurança ou de ciência, conecte a documentação de volta a uma fixture, benchmark ou artefato de gate real.