The clj.rs REPL runs in a browser, letting users evaluate Lisp code against Rust libraries.
*An experimental Clojure dialect now runs on Rust. It promises a Lisp runtime with persistent data structures, macros and native interop, but it is still early and rough. Developers can grab it from crates.io or test it in a browser REPL.*
A new bridge between functional Lisp and systems‑level Rust has appeared. clj.rs, an experimental Clojure dialect, targets developers who need Lisp‑style code while staying inside the Rust ecosystem. The project promises a full Lisp runtime—persistent data structures, macros, native interop—yet it arrives with a clear disclaimer: it is early stage and rough around the edges. In a landscape where language interoperability fuels rapid innovation, clj.rs stakes a claim as a potential catalyst for agentic coding and AI‑driven development. Its public availability on crates.io and a browser REPL signal an open invitation to test the limits now.
clj.rs is an experimental Clojure dialect built for the Rust ecosystem. It positions itself as a capable Lisp runtime, offering persistent data structures and a hosted macro system. The project targets both compiled and interpreted use cases, aiming to serve as an agentic coding runtime. Its design bridges functional Lisp concepts with Rust's performance and safety guarantees. The code lives in a public GitHub repository (github.com/csm/clojurust) and is documented at docs.clj.rs. The language reference includes examples such as (tap> :log).
The clj.rs crate is published on crates.io under the name cljrs. Developers can add it to Cargo projects directly from crates.io/crates/cljrs. A browser‑based REPL is available at clj.rs/repl, letting users experiment without a local install. Full source code, issue tracking and contribution guidelines reside in the GitHub repository. Documentation, language reference and development logs are hosted at docs.clj.rs, providing a single entry point for learning and troubleshooting.
clj.rs advertises persistent data structures that survive mutation, a hosted macro system for compile‑time code transformation, and native interop with Rust libraries. It can run either as compiled binaries or as an interpreted session, giving flexibility for different workflows. The project markets itself as suitable for an "agentic coding runtime," implying use in automated or AI‑augmented development pipelines. The REPL interface shows a prompt (user=>) that evaluates expressions, demonstrating live code execution.
The project is labeled early stage and explicitly warns of rough edges. No stability guarantees are offered, and the experimental label suggests that breaking changes are likely. Users are encouraged to treat the tool as a prototype rather than a production dependency. The lack of a formal release roadmap or versioning policy reinforces the cautionary stance. Early adopters should expect to contribute fixes or workarounds as the community matures the codebase.
clj.rs is an experimental Clojure dialect targeting the Rust ecosystem, designed as a Lisp runtime with persistent data structures, a hosted macro system, and native interop.
The clj.rs crate is published on crates.io under the name cljrs, and a browser REPL is available at clj.rs/repl.
The project is early stage and explicitly warns of rough edges, indicating it is not yet ready for production use.
clj.rs arrives at a moment when developers scramble for tools that combine high‑level expressiveness with low‑level performance. Its open‑source nature, immediate availability on crates.io, and browser REPL lower the barrier to entry, but the early‑stage label warns of instability. If the community can tame its rough edges, clj.rs could become a linchpin for Rust‑centric Lisp development and AI‑augmented coding. Until then, it remains a daring experiment on the frontier of language design.
Sources: Hacker News (https://clj.rs/)