graalvm-clojure
This project contains a set of "hello world" projects to verify which Clojure libraries do actually compile and produce native images under GraalVM. (by clj-easy)
lilyvm
A small VM for Lisps written in C (by pflanze)
graalvm-clojure | lilyvm | |
---|---|---|
7 | 1 | |
487 | 5 | |
0.4% | - | |
5.4 | 0.0 | |
5 months ago | over 2 years ago | |
Clojure | C | |
Apache License 2.0 | GNU Lesser General Public License v3.0 only |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
graalvm-clojure
Posts with mentions or reviews of graalvm-clojure.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2022-12-06.
-
Faster load times for production deployments
Using graalvm when possible. More details (finding out if possible for your project) here: https://github.com/clj-easy/graalvm-clojure/tree/master/
- Loopr: A Loop/Reduction Macro for Clojure
- Joker
- What do you think about Racket, particularly as it compares with Clojure?
-
Building A Fast Command Line App With Clojure CLI (tools.deps) and GraalVM
I haven't yet, no, but I've just barely gotten started. There's a repo here that tracks compatibility of several Clojure libraries: https://github.com/BrunoBonacci/graalvm-clojure
-
Building A Fast Command Line App With Clojure
Even though there's no batteries-included way to manage Clojure projects, the community has put together a lot of great tools and guides the cover all the bases. The community seems to be converging around the official Clojure CLI and associated tooling as the preferred way to manage Clojure projects. It's extremely well designed, like most things Clojure, but, also like most things Clojure, it's very bare-bones. It's not an all-in-one command-line utility you can use to manage your whole project, like the angular or rails CLIs (which I didn't appreciate nearly enough in my former life 😢). You need to configure the Clojure CLI itself for it to be useful, but luckily that's really straightforward to do. What follows are the steps I did to make a new skeleton command-line app in Clojure. It follows the steps from this great guide, but I included the actual commands here because I use the Clojure CLI (clj) instead of lein to run things.
lilyvm
Posts with mentions or reviews of lilyvm.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2021-09-02.
-
Joker
I've recently started implementing a VM for Scheme [1] and was already envisioning to maybe add Clojure at some point. I'm writing it in plain C, since I don't see much reason to use C++ for the VM itself, and I like the simplicity and transparency of C. Also, I'm hoping to prove security at some point and C may make that easier (support from tooling like proof assistants). I don't think C++ would help enough to avoid security pitfalls by itself, unless one accepts the result to be very slow. But the VM does compile as C++, and complex data structures like HAMT may really better be written in C++, so I don't think I mind that. I think the approach to take for all speed-sensitive objects would be for them to be integrated directly with the GC (allocated from the GC heap, and traced via an object specific method).
Let me know if you'd like to discuss this more.
[1] https://github.com/pflanze/lilyvm
What are some alternatives?
When comparing graalvm-clojure and lilyvm you can also consider the following projects:
joker - Small Clojure interpreter, linter and formatter.
clasp - clasp Common Lisp environment
immer - Postmodern immutable and persistent data structures for C++ — value semantics at scale
park-lang - Park programming language
Wren - The Wren Programming Language. Wren is a small, fast, class-based concurrent scripting language.
clj-new - Generate new projects based on clj, Boot, or Leiningen Templates!
Carp - A statically typed lisp, without a GC, for real-time applications.
babashka - Native, fast starting Clojure interpreter for scripting
jank - A Clojure dialect hosted on LLVM with native C++ interop