5 ms·
I love the language. I’ve never found a language where I found the learning curve so shallow for being able to do so much. That said, I do find myself pining f
by peatmoss 7y ago
I love the language. I’ve never found a language where I found the learning curve so shallow for being able to do so much.
That said, I do find myself pining for the ability to easily compile a static executable (maybe with a small embedded runtime). Some time ago there was an attempt to port Clojure to Gambit Scheme, but that appears to have fizzled.
More recently, I’ve seen Ferret, which compiles a subset of Clojure down to C++. Also Joker, which is a Clojure-ish interpreter in Go.
Then there’s GraalVM, which I don’t trust, because it’s Oracle.
I feel like the relative lack of traction for non-Java / non-Javascript implementations is part of the brilliance and sadness of Clojure. Namely, the JVM is a rocket ship and a boat anchor.
Racket (modulo the uncertainty cast by the Racket2 discussions) and Gerbil Scheme both have a pretty good “distribute an executable” story while trying to introduce some creature comforts beyond plain Scheme. I suppose my ideal, would be something a little more like Clojure in terms of language, and a little more like Scheme in terms of deployment options.
- pmoriarty 7y agoWhy not Chicken Scheme? It compiles down to C.
- peatmoss 7y agoOh, definitely Chicken as well. The library story with Chicken is also pretty decent.
- walkingolof 7y agoGraalVM CE is licensed under GPLv2 what’s not to trust ?
- ypcx 7y agoCheck out Carp: https://github.com/carp-lang/Carp https://github.com/carp-lang/Carp
- FPGAhacker 7y agomost of the “port clojure to X” that I’ve seen are just top level syntax and don’t port the functional data structures over. Without those, I don’t see the point. Beyond that, the land of libraries has sneaky little java dependencies scattered throughout. Clojure without the libraries isn’t very compelling. As someone else mentioned, graal does a good job of making an “executable”
- emmanueloga_ 7y agoCompiling an static executable is also interesting to me. This is why I'm learning Common Lisp. Its syntax and semantics are not as beautiful as Clojure's (IMHO) but CL also has other powerful features. I recently read about RUtils [1] which uses reader macros to modernize a bit the syntax. 1: https://gist.github.com/vseloved/9c6e36f2fa89f4accf3f3cbc371b3ce1 https://gist.github.com/vseloved/9c6e36f2fa89f4accf3f3cbc371...
- rcarmo 7y agoI went down the “small standalone executable rabbit hole” a while back, with multiple flavors of Scheme. Here are my notes on that: https://taoofmac.com/space/blog/2019/06/20/2310 https://taoofmac.com/space/blog/2019/06/20/2310