エピステミック型
不確かさ・信頼度・来歴(provenance)を第一級データとして扱います。
エピステミック型
Sounio は科学計算や規制下の計算を想定しており、値は「ただの数」ではないことが多いです。測定値や導出量は次を伴うべきです:
- 不確かさ(メトロロジー)
- 信頼度/信用度(trust)
- 来歴(出所 + 変換履歴)
中心となるのは Knowledge<T> です。これは、エピステミックなメタデータを黙って捨ててしまうことを防ぐ値ラッパーです。
いま動くこと(コンパイラの現状)
コンパイラは現在、最小限ですが重要な不変条件をサポートします:
Knowledge<T>を構築できる- その中の
Tを取り出すには、理由文字列つきの明示的な操作(unwrap("..."))が必要
つまり、コードが「うっかり」エピステミック情報を落とすことはできません。
仕様 vs 実装
完全な設計では、より豊かな振る舞いを目指します: 原理に基づく不確かさ伝播、信頼度の単調性、純粋変換での append-only な来歴などです。
これらは仕様や stdlib 設計ドキュメントに現れますが、実際の強制はコンパイラのモードや feature flags によって変わることがあります。