Clojureの方言をRustで実装した「clj.rs」が登場

Clj.rs – a Clojure dialect implemented in Rust

clj.rsはRustエコシステムを対象にした実験的なClojure方言だ。永続データ構造、ホスト言語のマクロシステム、ネイティブ相互運用を備え、コンパイルとインタプリタの両方に対応する。エージェント型コーディングのランタイムとしての利用も想定されており、crates.ioで公開済みだが、まだ初期段階で粗削りな部分も多い。

実験的なClojure方言で、Rustエコシステムを対象としている。能力のあるLispランタイムを目指し、永続データ構造、ホストされたマクロシステム、ネイティブ相互運用を備え、コンパイルまたはインタプリタで動作し、エージェント型コーディングランタイムとしての利用に適する。
  1. vaylian

    Clojureのキラー機能の一つは、ホストプラットフォームとのシームレスな相互運用性だ。JVMでは `(Integer/parseInt my-variable);` のように書けて、これはJava側で `Integer.parseInt(my_variable)` を呼び出す。

    Rustのコードを呼び出す例を探してみたが、見つけられた中で最良のものはこれだった:

    https://github.com/csm/clojurust/blob/b847a29b46e2b6b3fbe624...

    Rustの関数をClojureの名前空間に取り込むには、かなりの手間をかける必要がありそうだ。回避策はないのだろうし、これはclj.rsへの批判ではない。ただ、JVM上ほどシームレスではないように思える。

  2. JavierFlores09

    ClojureはLisp系言語の新しい基盤になったのだろうか?人々がClojure特有のLispの味を求める理由は何なのだろう?最近Jank[1]に関するClojureのトークも見かけて興味を持ったので、ただ聞いてみただけだ。

    1: https://www.youtube.com/watch?v=tHgApFhevrQ

  3. xnfra

    Clojureについて私が知っている唯一のことは、Walmartが在庫管理システム全体を書き直すのに使ったということだ。

  4. tux

    なぜ「Cloju.rs」と名付けなかったのかな? :-)

  5. jiehong

    いいね、でも非目標は何だろう?

    ネイティブバイナリへのコンパイルは別として、これはどちらかというとClojureというよりClojureScriptに近いと思うのだけど?

    Jankとの比較はどうなんだろう?

この日のほかの記事

2026-11-08