Tipos Epistêmicos
Incerteza, confiança e proveniência como dados de primeira classe.
Tipos Epistêmicos
Sounio foi projetado para computação científica e regulada, onde um valor raramente é “apenas um número”. Medições e quantidades derivadas deveriam carregar:
- incerteza (metrologia)
- confiança/credibilidade (trust)
- proveniência (origem + histórico de transformações)
O bloco fundamental é Knowledge<T>: um wrapper de valor que impede que você descarte metadados epistêmicos de forma silenciosa.
O que Funciona Hoje (Realidade do Compilador)
O compilador atualmente suporta um invariante mínimo, mas importante:
- você pode construir valores
Knowledge<T>, e - extrair um
Tpuro exige uma operação explícita com uma string de motivo (unwrap("...")).
Isso significa que o código não consegue perder informações epistêmicas “por acidente”.
Especificação vs Implementação
O design completo busca comportamento mais rico: propagação de incerteza com base em princípios, monotonicidade de confiança e proveniência append-only sob transformações puras.
Parte disso vive na spec e nos docs de design da stdlib, mesmo que a aplicação varie por modo do compilador e feature flags hoje.