3 ms·
Clojure CLR is a thing. And despite the opposite opinions, Clojure is very much "a proper Lisp".
by iLemming 6y ago
Clojure CLR is a thing. And despite the opposite opinions, Clojure is very much "a proper Lisp".
- TeMPOraL 6y agoI'm still confused about the state of Clojure CLR. I initially thought it was the "OG Clojure" before Rich dumped CLR and went for JVM instead. Is it maintained properly and kept up to date with Clojure proper? (I used to be in the "Clojure is not Lisp" camp, but I've grown up at some point.)
- igneo676 6y agoMy understanding is that the Clojure community points everyone to Arcadia[0] since it's maintained and a bit more public about what their exact goals are. Unfortunately, neither are terribly well documented and so I've not personally used either [0]: https://github.com/arcadia-unity/arcadia https://github.com/arcadia-unity/arcadia
- iLemming 6y ago> I'm still confused about the state of Clojure CLR. David Miller been doing a tremendous job of keeping it up to date. Latest commit was 2 days ago. Somehow there's not much overlapping interest there - dotnet folks aren't very much interested in Lisps. Lispers don't care much about dotnet.
- kgwxd 6y agoAnd VS Code with Calva make REPL-driven Clojure development a very pleasant experience. Edit: With the JVM version, I've never tried that setup with Clojure CLR.
- klibertp 6y agoI just tried it out of curiosity and the startup time is absolutely brutal: -▶ time dotnet ./Clojure.Main.dll <<<"" Clojure 1.10.0-beta1 user=> user=> dotnet ./Clojure.Main.dll <<< "" 16.74s user 0.18s system 99% cpu 16.980 total Compared to Clojure on JVM: -▶ time clojure -e '(System/exit 0)' clojure -e '(System/exit 0)' 3.02s user 0.16s system 268% cpu 1.184 total I wonder, did I do something wrong (I'm not a .NET developer by any stretch) or does it simply take that much time on the CLR?
- coliveira 6y ago.NET may suffer from the same problem as Julia: the first runs will trigger the jit system and result in awful start times. There are ways to avoid this, but I don't know if it works (yet) for clojure.