Localized V2 rewrite for this language is in progress. Showing English-first content for now.

Knowledge<T>

El tipo epistémico de valor de Sounio: unwrap explícito, sin pérdida silenciosa de incertidumbre.

Knowledge<T>

Knowledge<T> es el tipo epistémico de valor de Sounio: un valor junto con metadatos sobre qué tan conocido es.

Lo que Funciona Hoy (Realidad del Compilador)

Puedes construir un Knowledge<T> y extraer explícitamente el T subyacente:

fn main() with IO {
    let k = Knowledge { value: 42.0 }

    // Explicit extraction requires a reason string.
    let x: f64 = k.unwrap("accepted for demo")

    if x == 42.0 {
        print("knowledge_unwrap: PASS\n")
    } else {
        print("knowledge_unwrap: FAIL\n")
    }
}

La propiedad clave es sin unwrap silencioso: el código debe decir por qué está descartando información epistémica.

En la Spec / Diseño de la Stdlib (Modelo Epistémico Completo)

La especificación del lenguaje y el diseño de la stdlib buscan que Knowledge<T> lleve (como mínimo):

  • una estimación puntual (value: T)
  • incertidumbre (por ejemplo, varianza)
  • confianza/credibilidad
  • procedencia (de dónde vino y cómo se transformó)

Verás este modelo más rico en el módulo epistémico de la stdlib (y en la spec formal), incluso si algunos campos y reglas de propagación aún no se aplican en todo modo del compilador.

Guía Práctica

  • Mantén los valores como Knowledge<T> tanto como puedas.
  • Usa unwrap(...) solo en el borde donde realmente necesites un T plano (y registra el motivo).

Siguiente