Clojure是否有爲其他虛擬機(如.Net,Python,Ruby,Lua)構建的實現,還是與Java和JVM綁定太密切?爲其他平臺構建Clojure有意義嗎?其他平臺的Clojure的實現?
3
A
回答
1
Rich Hickey本人至少有一個ClojureCLR項目。
該項目是Clojure在公共語言運行時(CLR), 微軟的.Net框架的執行引擎的本地實現。
ClojureCLR在C#(和Clojure本身)中編程,並利用微軟的動態語言運行時(DLR) 。
5
目前的Clojure的三種實現我所知道的:
- ClojureCLR,對於CLI的Clojure的實現,
- ClojureScript的實現((的變體的一個子集))Clojure for ECMAScript和
- Java平臺的Clojure實現,也被稱爲Clojure。
事實上,名稱的Clojure因爲它含有兩個字母CLR,以及信Ĵ是專門由Rich希基選擇。我聽說過有關Objective-C/Cocoa運行時,LLVM和Rubinius VM的實現的傳聞,但我不知道這些實際上是否存在。
1
我不確定Python和Ruby端口是否有意義,那些語言包含多個虛擬機/實現。如果你想在Clojure和Python或Ruby之間進行本地互操作,你可以使用Jython或JRuby並保持在JVM上。
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已經避免了這種誘惑,並努力保持與主人的距離。
相關問題
- 1. 在其他平臺上
- 2. 編譯爲其他平臺
- 3. 其他平臺的Android Nine-patch等效
- 4. Socket.io爲node.js之外的其他平臺
- 5. iPhone的其他開發平臺
- 6. 跨平臺_wtoi()實現?
- 7. Verilog測試平臺實現
- 8. 實現REST SDK的自定義平臺
- 9. Lua的跨平臺C#實現
- 10. 遞增加載的跨平臺實現
- 11. 實現Clojure庫
- 12. 確實FDT平臺具有jangaroo實現
- 13. Port Andengine遊戲到其他平臺?
- 14. 跨平臺C# - System.io和其他怪癖
- 15. 便攜式python包到其他平臺?
- 16. 如何含有signalR與其他平臺
- 17. 記事本v.s.其他平臺
- 18. 其他類事件的NSNotification-實現?
- 19. 可用的其他SecurityManager實現?
- 20. 其他類的實現方法
- 21. 針對linux或其他的J2me實現
- 22. Clojure:爲現有的java類實現Seqable
- 23. 現有的應用程序(Java /月食/機器人)到其他平臺
- 24. 使用Java實現IM平臺
- 25. 是好實現移動平臺
- 26. Xamarin跨平臺Ninject實現與NullReferenceException
- 27. 用mvvmcross實現跨平臺filesystemwatcher
- 28. Clojure的:在列表或其他集合
- 29. PhoneGap使用PhoneGap的其他平臺上的API元素構建
- 30. 在較老的平臺上有什麼其他的NULL定義?