- 語言
- 英語
- 發布於
- 16天前
- 複刻
- 7
Wyzer-Lang/wyzer ↗· OCaml· Apache-2.0· 最近提交 1天前
只用一條所有權規則,把記憶體、執行緒和網路訊息一併管住,這是 Wyzer 押下的賭注。它是靜態型別的編譯式語言,編譯器以 OCaml 寫成,既不放垃圾回收器,也不做 Rust 那樣的借用檢查,只守住一條:資源用過一次就不能再用。記憶體沿用從 Koka 和 Lean 4 借來的 Perceus 參考計數,一個值只有一個擁有者時,編譯器直接就地改寫。分散式的部分交給編排式程式設計,照常寫普通函式,由型別標明資料歸誰,通訊規則由編譯器自行推導並逐條檢查。專案給出的說法是,死結和遺失的訊息因此能在程式跑起來之前暴露。
語法刻意做得寡淡:let 不可變,var 可變,失敗以 Result 回傳、用 match 接住,也沒有 async 與 await 的分野。作者自己把它定位成尚有多處未解的早期研究。