程式忍者PGNinja

Hacker News

開源專案 clj.rs 用 Rust 打造 Clojure 方言執行環境

· clj.rs 是用 Rust 實作的實驗性 Clojure 方言,提供持久化資料結構與巨集系統,可編譯或直譯執行,目前仍是早期開發階段。

clj.rs(網站簡稱 cljrs)是一個以 Rust 程式語言重新實作的 Clojure 方言,目標是把 Lisp 家族語言常見的特性,例如持久化資料結構與巨集系統,帶進 Rust 的生態系統裡。對想要 Lisp 式開發體驗、又想享受 Rust 生態系統(像是套件管理與效能)的開發者來說,clj.rs 提供了一個可以兩邊兼顧的執行環境。

這個語言保留了 Clojure 的核心設計,包括不可變的持久化資料結構,以及可以自訂語法的巨集系統,同時支援與 Rust 原生程式碼互通。使用者可以選擇把程式編譯成執行檔,或是直接用直譯模式跑。套件已經發佈到 Rust 的官方套件庫 crates.io,網站上也提供一個瀏覽器內的線上 REPL,不用安裝任何東西就能先試用看看。

專案官網特別標明自己「特別適合用作代理型編碼執行時環境」,意味著開發者把它設計成方便讓 AI 程式代理呼叫、執行程式碼的環境之一,呼應目前很多工具都在往「AI 代理友善」方向設計的趨勢。網站也老實標註「Early stage; expect rough edges」,提醒使用者這還是個早期、會有粗糙地方的專案,原始碼公開在 GitHub 上,也有獨立的語言文件站 docs.clj.rs。

對剛開始學程式的孩子來說,這類「用一種語言重新實作另一種語言」的專案是很好的練習題材:它逼著作者把 Clojure 的語法、資料結構、巨集這些概念都想得很清楚,才能用 Rust 重新搭出一套一樣能動的系統。如果孩子已經學過一種程式語言,鼓勵他們去讀讀看像 clj.rs 這種小型語言實作的原始碼,會比單純背語法更能理解程式語言本身是怎麼運作的。

開源程式語言Rust

其他新聞