其他平台的Clojure实现?

exu*_*ero 3 clojure

有没有为其他虚拟机(如.Net,Python,Ruby,Lua)构建Clojure的实现,还是它与Java和JVM紧密相关?为其他平台构建Clojure是否有意义?

Jör*_*tag 5

我目前有三种Clojure实现:

  • ClojureCLR,用于CLI的Clojure实现,
  • ClojureScript,(ECMAcript和Clojure的一个子集)的一个实现(
  • Java平台的Clojure实现,令人困惑的也称为Clojure.

事实上,这个名字的Clojure是专门由Rich希基,因为它同时包含字母选择CLR以及信Ĵ.

我听说过有关Objective-C/Cocoa运行时,LLVM和Rubinius VM的实现的传言,但我不知道这些是否真的存在.


Art*_*ldt 5

" or is it too closely tied to Java and the JVM? 
  Does it make sense to build a Clojure for other platforms?"

Clojure设计理念之一就是拥抱主机平台.JVM上的Clojure包含了JVM,并且可以直接访问类,数字等.互操作是两种方式.

ClojureScript以完全相同的方式包含JavaScript(ECMAScript),可以直接访问.NET目标的对象,数字等.

制作在多个平台上运行完全相同的源代码的"跨平台"语言是诱人的,但并不总是成功的.到目前为止,Clojure避免了这种诱惑,并努力与主人保持密切联系.