5 ms·
I've become enamored with PLT Scheme. Clojure main appeal appears to be that it is on the JVM (with all those darn libraries), not that it is a new/beautiful an
by rw 18y ago
I've become enamored with PLT Scheme. Clojure main appeal appears to be that it is on the JVM (with all those darn libraries), not that it is a new/beautiful and novel language. I am a proponent of porting Clojure to run without the JVM - has anyone heard of such a project?
- prospero 18y agoWhat possible benefit would there be to a project like that?
- ricree 18y agoI wouldn't mind a .net version, but other than that I agree that clojure loses a lot of its benefit over other lisps if it isn't tied to an existing runtime and library set.
- jstraszheim 18y agoBack before it was a public project, there apparently was a Clojure on .net. It appears, however, that it is now pretty firmly matched to the JVM. Given its present state, it would be about as hard to separate Clojure from the JVM as Java. Perhaps someone will rip off its ideas and create L#.
- icey 18y agoI heard a rumor a few weeks ago that someone had Clojure running on IKVM. I'm sure it would be slow as hell right now; but it'd probably be OK for toying around with.
- mindslight 18y agoGiven that clojure "embraces the platform", it'd probably be pretty hard to have clojure.net _without_ ikvm in there somewhere. Performance could be increased by porting the code generator and core classes to .net, but users expect to use arbitrary java libraries, so that capability has to be there. (Seems like that strategy could also be applicable to a native port, using an embedded jvm to handle whatever has not been ported from java land) and FWIW (i have little .net knowledge) ubuntu:~% ikvm -jar clojure.jar Clojure user=> (. cli.System.IO.File OpenText "/dev/null") #<StreamReader System.IO.StreamReader> (startup takes about 6x times as long with ikvm than java -client. compiling with ikvmc creates a clojure.exe which instead takes 9x to start. clojure-1240 non-slim, java 1.6.0_07, ikvm 0.34.0.4, mono 1.9.1)
- icey 18y agoThat's pretty interesting... Does mono have a native image generator like ngen? You might be able to get some performance improvements if it does.
- mindslight 18y agoIt does, but given how quickly it runs, I can't think it's doing that much? I remember playing with it a while ago and not seeing any performance worth remembering. Apparently the latest version of mono has much better AOT support, and performance improvements as well.
- weavejester 18y agoIts STM support, persistant types and syntax sugar for vectors and maps seem pretty novel.
- jstraszheim 18y agoBeing on the JVM is a very big deal. I have associates who wouldn't think of using a "fancy" language for anything, who are now looking closely at Clojure, and its chief attraction to them is evidently the JVM. On the other hand, I like it because it is a "new/beautiful and novel language."
- shoover 18y agoHere are some other ports: JavaScript: http://code.google.com/p/clojure-contrib/source/browse/#svn/trunk/clojurescript http://code.google.com/p/clojure-contrib/source/browse/#svn/... Flash: http://wiki.github.com/aemoncannon/las3r http://wiki.github.com/aemoncannon/las3r .NET: http://bitbucket.org/stefanrusek/xronos/wiki/Home http://bitbucket.org/stefanrusek/xronos/wiki/Home