Hacker News new | past | comments | ask | show | jobs | submit login

Clojure CLR is a thing. And despite the opposite opinions, Clojure is very much "a proper Lisp".



I'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.)


> 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.


My 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


I 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?


.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.


And 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.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: