4 ms·
Clojure can be compiled to run on other runtime systems. ClojureScript exists.
by sanxiyn 10y ago
Clojure can be compiled to run on other runtime systems. ClojureScript exists.
- amelius 10y agoYes, but all your tools and libraries break. You have to be prepared to exchange one ecosystem for another.
- harperlee 10y agoMmmh yeah but what is the alternative? To not have access to the JVM ecosystem? You could make an analogous argument for C not being portable, since it uses an ecosystem of tools and libraries that might not be portable to all systems.
- amelius 10y agoThe alternative is that the ecosystem itself is written in Clojure (or at least the most important parts of it). Of course, you will always have a set of points at which the language needs to call lower-level functionality, but you should keep that set as small as possible, to make the ecosystem easier to port. And in the modern "client/server" world, you really need this, because systems are often heterogeneous, and you often need to move one piece of code to another part of the system which runs on a different runtime.
- mapcars 10y agoCorrect me if I'm wrong, but ClojureScript is implemented from scratch and independently of "big" Clojure. If it is so - to run Clojure on other systems you have to implement everything, which makes no sense at all.
- kimi 10y agoI find it quite annoying that for a language that is meant to be "parasitic" there is no simple way to port it to any target. There are a few Clojures around that target e.g. C, but they are more "lookalikes" than the real thing. And ClJS is a separate codebase. It would be cool if Clojure was one and the same thing and then had a backend to support generic platforms - this way you would have ClojureJVM, ClojureNET, ClojureGO, whatever, with different levels of support and speed, but at least you could share the code. For example, maybe the Go version could have only :aot and write Golang sources.
- pjmlp 10y agoWell it only got reader conditionals in 1.7 and most libraries don't bother to use them yet, afaik.