命令列工具
jfecher/ante avatar
jfecher/ante

Ante:一個用於安全共享可變性的底層函數式語言

一種安全、簡單的系統語言。這些測試中包含命令,goldentests 庫使用這些命令來執行 ante 編譯器,並根據該檔案註釋中包含的預期輸出檢查每個檔案的輸出。

2,341 個 Star116 個 ForkRustMIT

秒懂

它是什麼?
Ante 編譯器使用 Rust 編寫,旨在結合類似 Rust 的所有權與可讀的函數式語法和效果處理器。
適合誰用?
Ante 使用 MIT 許可證,README 並未聲稱其具有生產就緒性。該項目歡迎貢獻者,編譯器仍處於早期階段,並基於黃金測試進行測試。
可以商用嗎?
可以。MIT 是寬鬆授權:你可以使用、修改並販售以它為基礎的軟體,只需保留著作權與授權聲明。
還在維護嗎?
有在維護。儲存庫最近一次提交在 6 天前。
用什麼語言寫的?
主要是 Rust(依據 GitHub 的語言統計)。

以上回答依據專案的 GitHub 資料(最近同步於 2026年9月15日)與我們的分析,不構成法律意見。

開源專案深度解析

語言的目標

Ante 是一種底層函數式語言,其 README 將安全共享可變性、效果處理器和其他功能列為探索目標。它建立在類似於 Rust 的所有權和借用規則之上,但專案表示,它旨在透過鼓勵高階方法(以後可以用低階細節最佳化)來提高可讀性。倉庫中繼資料將語言列為 Rust,這意味著編譯器本身是用 Rust 編寫的。README 中未出現版本號或發布日期。

針對 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,第 1 節的核對焦點是項目文件實際寫出的入口與限制。可在倉庫中搜尋 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,把相關檔案或命令的輸入、輸出和錯誤訊息逐項記下。這能分辨 README 明示的行為與未說明的推測,也能看出這個專案放進現有工作流程時,哪一段需要人工介入。若命令依賴特定版本,應把版本字串一併保留;若涉及資料或憑證,先使用測試資料,避免把個人環境設定帶入。

語法範例

README 以一個簡短的 Ante 函數開頭。它展示了一個函數,該函數接受對 Bar 的可變引用和泛型類型的借用引用,並帶有 Clone 約束。函數體呼叫 fail(),因為存在 Fail 效果,將同一個可變引用兩次傳給 baz,並克隆借用的值。註釋解釋說,Fail 效果允許呼叫 fail,引用在可變的同時可以被別名化,並且特質透過隱式參數表達,避免了強制的 newtype 包裝。以下是原文中的範例: foo (x: mut Bar) (y: ref a) {Clone a}: a can Fail = if not valid x then fail () baz x x clone y

針對 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,第 2 節的核對焦點是項目文件實際寫出的入口與限制。可在倉庫中搜尋 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,把相關檔案或命令的輸入、輸出和錯誤訊息逐項記下。這能分辨 README 明示的行為與未說明的推測,也能看出這個專案放進現有工作流程時,哪一段需要人工介入。若命令依賴特定版本,應把版本字串一併保留;若涉及資料或憑證,先使用測試資料,避免把個人環境設定帶入。

建置編譯器

要從原始碼建置 Ante,README 要求克隆時包含子模組,因為編譯器依賴一個名為 aminicoro.c 的 C 檔案,沒有子模組該檔案不存在。建置有一個可選的 LLVM 後端,需要 LLVM 21.1。如果已經安裝了該版本並帶有原始碼,cargo install --path . 應該可以直接工作。否則,README 建議透過 Linux 或 Mac 上的套件管理器安裝 LLVM 21.1,或者使用 CMake 從原始碼建置。對於不包含 LLVM 的建置,命令是 cargo install --path . --no-default-features,它將使用 C 後端。README 聲明不支援更舊版本的 LLVM。

針對 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,第 3 節的核對焦點是項目文件實際寫出的入口與限制。可在倉庫中搜尋 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,把相關檔案或命令的輸入、輸出和錯誤訊息逐項記下。這能分辨 README 明示的行為與未說明的推測,也能看出這個專案放進現有工作流程時,哪一段需要人工介入。若命令依賴特定版本,應把版本字串一併保留;若涉及資料或憑證,先使用測試資料,避免把個人環境設定帶入。

Windows 和 LLVM

Windows 建置更為複雜。README 指出 LLVM 在 Windows 上建置非常困難,而且官方二進位檔案不附帶所需的庫檔案。要在 Windows 上使用 LLVM 後端,必須透過 CMake 從原始碼建置 LLVM 21.1,這需要 Visual Studio 2017 或更高版本。README 建議除非專門測試 LLVM 後端,否則建置不帶 LLVM 的版本。它還提供了 CMake 步驟:克隆 release/21.x 分支的 LLVM 專案,建立建置目錄,執行 cmake,然後建置並安裝,並在執行 cargo build 之前將 LLVM_SYS_211_PREFIX 設定為建置目錄。

針對 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,第 4 節的核對焦點是項目文件實際寫出的入口與限制。可在倉庫中搜尋 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,把相關檔案或命令的輸入、輸出和錯誤訊息逐項記下。這能分辨 README 明示的行為與未說明的推測,也能看出這個專案放進現有工作流程時,哪一段需要人工介入。若命令依賴特定版本,應把版本字串一併保留;若涉及資料或憑證,先使用測試資料,避免把個人環境設定帶入。

貢獻和測試

編譯器被描述為仍處於早期階段,README 歡迎貢獻者處理已知問題、改進和標準庫新增。程式碼庫中的每個檔案都帶有模組註解,說明檔案的目的和使用的演算法;建議從 src/main.rs 開始閱讀。拉取請求必須通過 examples 目錄中的測試。這些測試使用 goldentests 庫,該庫對每個範例檔案執行 ante 編譯器,並將輸出與註解中的預期輸出進行比較。執行它們的命令是 cargo test --test goldentests。README 還連結到了好第一個問題清單。

針對 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,第 5 節的核對焦點是項目文件實際寫出的入口與限制。可在倉庫中搜尋 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,把相關檔案或命令的輸入、輸出和錯誤訊息逐項記下。這能分辨 README 明示的行為與未說明的推測,也能看出這個專案放進現有工作流程時,哪一段需要人工介入。若命令依賴特定版本,應把版本字串一併保留;若涉及資料或憑證,先使用測試資料,避免把個人環境設定帶入。

社群和支援

開發討論在官方 Discord 伺服器上進行,README 中提供了連結。還有一個 /r/ante 子版塊,README 將其描述為基本不活躍,主要用於關於語言的問題,而不是開發更新。使用者可以在倉庫本身上提交問題或提問。README 沒有提到其他支援管道或郵件清單。

針對 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,第 6 節的核對焦點是項目文件實際寫出的入口與限制。可在倉庫中搜尋 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,把相關檔案或命令的輸入、輸出和錯誤訊息逐項記下。這能分辨 README 明示的行為與未說明的推測,也能看出這個專案放進現有工作流程時,哪一段需要人工介入。若命令依賴特定版本,應把版本字串一併保留;若涉及資料或憑證,先使用測試資料,避免把個人環境設定帶入。

許可證

Ante 使用 MIT 許可證發布,版權歸 Jake Fecher 所有,2022 年。該許可證允許使用、複製、修改、合併、發布、分發、再許可和出售軟體副本,但必須在所有副本或重要部分中包含版權聲明和許可聲明。軟體按現狀提供,不提供任何形式的擔保。許可證並未涉及安全狀況、支援承諾或生產就緒性。

針對 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,第 7 節的核對焦點是項目文件實際寫出的入口與限制。可在倉庫中搜尋 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run`,把相關檔案或命令的輸入、輸出和錯誤訊息逐項記下。這能分辨 README 明示的行為與未說明的推測,也能看出這個專案放進現有工作流程時,哪一段需要人工介入。若命令依賴特定版本,應把版本字串一併保留;若涉及資料或憑證,先使用測試資料,避免把個人環境設定帶入。

編輯結論

Ante 使用 MIT 許可證,README 並未聲稱其具有生產就緒性。該項目歡迎貢獻者,編譯器仍處於早期階段,並基於黃金測試進行測試。 對 jfecher/ante、Ante 編譯器、`ante`、`ante build`、`ante run` 的採用判斷,先執行文件列出的專案命令並查看指定檔案的結果,再把相容性、權限與回滾條件納入決策;未被 README 證實的能力不作承諾。

官方來源

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
社群筆記

社群筆記