記憶體安全程式語言 Uya 0.9.4 發布

 


Uya 是一個系統程式語言,專注於記憶體安全、運行安全性和零運行時開銷。設計目標是提供高水準的安全性,同時保持高效能和簡潔性。

Uya 語言的設計哲學是堅如磐石(絕對可靠、不可動搖),將所有運行時不確定性轉化為編譯期的確定性結果:要麼證明絕對安全,要麼返回顯式錯誤。

核心特性

  • 原子型
  • 記憶體安全強制
  • 並發安全強制
  • AI 友善
  • 泛型語法
  • extern struct 完全解放

語言特性
  • 聯合體(union):編譯期標籤跟踪,與 C union 100% 互操作,零運行時開銷
  • 泛型語法:使用尖括號 <T>,約束緊鄰參數 <T: Ord>,多約束連結 <T: Ord + Clone + Default>(Vec<i32>、HashMap<K, V>)
  • 數字字面量增強:支持多瑜伽(十六瑜伽0xFF、八瑜伽0o755、二進制0b1010)和下劃線分隔符(1_000_000、0xFF_00_AA)
  • extern struct 完全解放:C 相容結構體可以有方法、drop、實作接口,同時保持 100% C 相容
  • 記憶體安全強制:所有 UB 必須被編譯期證明為安全,失敗即編譯錯誤
  • ARM 安全強制:atomic T 關鍵字,自動原子指令,零競爭數據,零運行時鎖
  • 錯誤處理:明確錯誤聯合類型!T,支援預先定義和運行時間錯誤
  • 介面系統:鴨子類型接口,零註冊,編譯期生成
  • 目錄級模組、明確導出、路徑導入,編譯期解析
  • 字串插值:支援 "a${x}"和"pi=${pi:.2f}" 兩種形式
  • 切片語法:支援 &arr[start:len] 返回切片視圖,包括負數索引,用於循環支援值/引用/索引迭代
  • 安全指針術算:支持 ptr +/- offset,必須透過編譯期證明安全
  • 類型大小和字體:@size_of(T)和@align_of(T) 等內建函數(均以 @,編譯期常數,需導入)
  • SIMD 支援內建:支援 @vector(T, N)、@mask(N)、@vector.splat、@vector.any、@vector.all 的語言級規範


Picture Source
Uya

留言