最初のプログラム

いまのコンパイラで動く小さなエンドツーエンド例と、仕様レベルのエピステミック版。

最初のプログラム

今の段階で意味のある最初のプログラムは、epistemic データを明示したまま扱うものです。Knowledge<T> と意図的な unwrap 境界から始めてください。

本日時点で確認済み

  • Knowledge<T> は今も silent extraction ではなく、明示的な unwrap 境界を要求します。
  • 明示的な with ... effect は現在も言語契約の実体です。
  • 信頼度境界つき compile-fail fixture は、検証済み契約の一部です。

現在の注意点

  • 不確実性と provenance の完全なモデルは、今日の検証済み artifact よりも spec と stdlib 文書の方が豊かです。
  • 実際の挙動は、リポジトリ上のファイルだけではなく、使用している souc バイナリそのものに依存します。

このリポジトリで確認する

fn main() with IO {
    let dose = Knowledge { value: 42.0 }
    let accepted: f64 = dose.unwrap("demo boundary")
    println(accepted)
}

"$SOUC_BIN" check first_program.sio