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

留言
張貼留言