[QUESTION] Why Clojurescript and not JVM?
Closed this issue ยท 14 comments
Why Clojurescript and not JVM?
I come from js and node background so it is easier for me to hack on. Plus lumo is awesome and it does a lot of heavy-lifting. Basically when I saw lumo I got the idea I could just hack the REPL a bit and got the prototype working.
I think with the new clj
tool and clj.main
Clojure proper gets more hackable too. It would be a cool exercise to abstract the code and implement platform specific code for JVM support. I would like to have that eventually down the road.
JVM is faster, but has a lot slower startup time. Waiting 10 seconds for your shell to start up every time would be a no-go for me.
Otherwise I would also like to see a JVM version.
I am hoping that in the future it could be compiled to native code with Graal which should make the startup time be less than a second.
Anyway, the JVM port is in progress in the master branch. It is mostly done, there are just a few issues that need to be ironed out before a release.
this is exciting. when will this be out?
I don't want to give any promises, but it will hopefully be done in a month or so.
Just FYI here are remaining issues that need to be completed for the JVM integration so that it can be released for v0.3
:
- Fix remaining failing unit tests regarding file redirection
- Fix
cd
ing to non-existing directory which ends in infinite loop - Handle SIGINT properly
- For example when a process runs (like
sleep 10
) andctrl+c
is pressed then shell quits. - Make sure it also interrupts properly when running in process thread, e.g.
(Thread/sleep 10000)
and pressingcrtl+c
- For example when a process runs (like
- Bonus: Port the
autojump
integration - Fix glob expansion when switching directories
would it also be possible to have nrepl support?
it'd be essentially like having both the shell and the repl in one.
@zcaudate I see, it should be possible to include nrepl middleware to start an nrepl server. Could you create a separate issue so we can track it there?
I agree. Unfortunately more blocking issues were discovered. There are separate issues opened, I label them with bug and jvm tags.