4 ms·
Janet [1] is a clean, modern LISP. Clojure is also an option, but of course that comes with a heavy JVM burden. [1 ]https://janet-lang.org https://janet-lang.
by the_duke 5y ago
Janet [1] is a clean, modern LISP.
Clojure is also an option, but of course that comes with a heavy JVM burden.
[1 ]https://janet-lang.org https://janet-lang.org
- ogogmad 5y ago> Janet is a clean, modern LISP. This does seem cleaner. I have some questions though: - What about the interactive environment like the one in Common Lisp? It's not enough to only have a "REPL", I think. - There are so many Lisp dialects. Is this one going to remain obscure? - What's the library situation?
- db65edfc7996 5y ago>What about the interactive environment like the one in Common Lisp? Never used a "real" Lisp REPL, but Conjure[0] seems like it ticks a lot of boxes. >Is this one going to remain obscure? There are only a ~dozen mainstream languages. Once you get outside of the popular zeitgeist, you have to appreciate exactly what you are getting. It takes a lot of dedication to become fluent in a language/ecosystem, so it is no surprise that people are reluctant to switch to a novel platform. Clojure is far more likely to ever become mainstream (owing to the huge JVM ecosystem), but even that seems to have only limited industry penetration. [0] https://github.com/Olical/conjure https://github.com/Olical/conjure
- fuzzythinker 5y agoClojure doesn't need JVM. You can run it with GraalVM either directly [1] or via Babashka [2]. Both are great options for get into Clojure since there's almost no startup time like JVM and you don't have to be burdened with learning and heaviness of JVM stack. [1] https://github.com/oracle/graal https://github.com/oracle/graal [2] https://github.com/babashka/babashka https://github.com/babashka/babashka
- avmich 5y ago> Clojure doesn't need JVM. You can run it with GraalVM... Hm. https://en.wikipedia.org/wiki/GraalVM https://en.wikipedia.org/wiki/GraalVM "GraalVM is a Java VM and JDK based on HotSpot/OpenJDK, implemented in Java..." https://en.wikipedia.org/wiki/Clojure https://en.wikipedia.org/wiki/Clojure "Other implementations of Clojure on different platforms include: - Babashka,[82] Native Clojure scripting language leveraging GraalVM native image and Small Clojure Interpreter.." I guess you mean that some particular implementation of JVM isn't needed. But in general Clojure has "j" in its name, it wouldn't make sense without JVM at all.
- LesZedCB 5y agowell, there's also ClojureScript and recently, ClojureDart - neither dependent on the JVM
- fuzzythinker 5y ago"a Java VM" =/= the JVM most people's understanding of the word.
- didibus 4y agoNo, you don't need GraalVM either, it is only built with GraalVM, but it is usable as a single static native binary with no other dependencies. Think how say CPython needs GCC to build itself, but to use Python as a user you don't need GCC, only the compiled CPython interpreter. This is the same for Babashka Clojure, you only need GraalVM to build it, but as a user you only need the compiled Babashka interpreter. There's also Self-hosted Clojurescript which only needs a JS VM. And there is Clojure CLR which only needs a CLR VM. And you've got Clojerl that only needs BeamVM. But Babashka is probably the one you'd want to try, since it is dependency free, just download the binary and put it on your PATH.
- rawoke083600 5y agoAlso look at author's joy web framework build on janet ! Really cool. [0] https://github.com/joy-framework/joy https://github.com/joy-framework/joy