3 ms·
Clojure itself would also love to become parasitic just as you described. It's actually one of it's explicitly stated goals if I'm correct. Apparently implemen
by mtrimpe 12y ago
Clojure itself would also love to become parasitic just as you described. It's actually one of it's explicitly stated goals if I'm correct.
Apparently implementing Clojure on the LLVM is no easy feat though; judging from references to previous discussions on the mailing list. [1] There is some work on it already though [2,3,4] and I'm sure we'll get there eventually.
[1] https://groups.google.com/forum/#!topic/clojure-dev/bex25u9hWIw https://groups.google.com/forum/#!topic/clojure-dev/bex25u9h...
[2] https://github.com/ohpauleez/cljs-terra https://github.com/ohpauleez/cljs-terra
[3] https://github.com/halgari/clojure-metal https://github.com/halgari/clojure-metal
[4] https://github.com/halgari/mjolnir https://github.com/halgari/mjolnir
- pjmlp 12y agoI would say it is also a matter of focus. A real compiler backend takes a bit more than a weekend project, and it is hard to know the real reasons, technical or personal life of the coders, for the current state of the projects.
- mwcampbell 12y agoI think the real problem with the native Clojure compilers is that Clojure is designed to be symbiotic with host platforms that offer a much higher level of abstraction. For example, to perform well, all those persistent data structures require an advanced garbage collector. The JVM, the CLR, and the leading JavaScript implementations offer this; it would take a lot of work to implement one in the absence of one of these mature platforms.