认识论类型
将不确定性、置信度与溯源(provenance)作为一等数据。
认识论类型
Sounio 面向科学计算与合规/监管场景。在这些场景中,数值往往不是“纯粹的数字”。测量值与推导量应当携带:
- 不确定性(计量学)
- 置信度/可信度(trust)
- 溯源(来源 + 变换历史)
核心构件是 Knowledge<T>: 一个值的 wrapper,用来防止你在不经意间丢弃认识论元数据。
今天可用的部分(编译器现状)
编译器目前支持一个最小但关键的不变式:
- 你可以构造
Knowledge<T>值 - 提取出普通的
T必须通过带理由字符串的显式操作(unwrap(\"...\"))
也就是说,代码不会“悄悄地”丢掉认识论信息。
规范 vs 实现
完整设计的目标更丰富: 基于原则的不确定性传播、置信度的单调性,以及在纯变换下 append-only 的溯源。
其中一部分已体现在语言规范与 stdlib 设计文档中,但具体强制程度可能随编译器模式与特性开关而变化。