Clojure的端口,处理系统
当向某人解释babashka时,通常会按照JVM上Clojure的介绍顺序来简单列举。由于不同的处理系统可能对其一无所知,所以这些地方可能会被标记为”?”或者留空。
名前登場時期アウトプット実行環境拡張子用途Clojure2007
Java
Byte codeJVM (Java Virtual Machine) や GraalVM.clj
ウェブアプリケーションのサーバーサイド、データ分析など多岐。汎く Java の用途をカバー。ClojureScript2011?Javascript
コードBrowser, Nodejs などの Javascript が動くところ.cljs
フロントエンド JS、Nodejs アプリケーションなど多岐。汎く Javascript の用途をカバー。ClljureCLR2009?CIL
コード.NET, mono.clj
?あんまり知らない。まだ触ったことがない。ごめんなさい。ClojureDart2022?Dart
コード今は Flutter をメインターゲットにしている.cljd
Flutter モバイルアプリBabashka (SCI)2019スタンドアロンのバイナリ.bb
, .clj
Shell script の用途をカバーするところからスタートして Make のようなタスクランナー機能も組み込みで実装されたり、用途は広がっているように見える。nbb (SCI)2021Javascript
コード?Nodejs.nbb
Nodejs で動く Babashka のようなの。処理系として Babashka と同じ SCI (Small Clojure Interpreter) が使われていて作者も同じ。 ClojureScript のライブラリが一部使えたりするようだけどまだ試したことがない。もうメンテされてないようだが Ruby 環境で動く Rougeとか他にも色々ありそう。
Clojure Conj 2023 では LLVM で動いて C++ との interop が可能な Clojure Dialect jank のセッションがあった。 “How to build a Clojure dialect” by Jeaye Wilkerson – YouTube
Python エコシステムとのからみでいえば Hy や libpython-clj がある。拡張子に言及すると .cljc もある。いずれも記事のタイトルのスコープとは違うので触れてない(というかさらに詳しくない)。
当谈到Clojure时,我觉得可能指的是编译器,整个生态系统或者语言本身,这取决于具体的语境。不过,如果我想明确指出哪个,我可以使用修饰词比如JVM的Clojure或ClojureScript,或者使用准确的名称。所以,在交流中我并不会感到困惑。
参考信息:日本使用Clojure的公司案例 – https://github.com/athos/japanese-clojure-companies