InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now. Learn more →
Clojure Alternatives
Similar projects and alternatives to clojure
-
-
InfluxDB
InfluxDB – Built for High-Performance Time Series Workloads. InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
-
-
-
Nim
Nim is a statically typed compiled systems programming language. It combines successful concepts from mature languages like Python, Ada and Modula. Its design focuses on efficiency, expressiveness, and elegance (in that order of priority).
-
-
-
Graal
GraalVM compiles Java applications into native executables that start instantly, scale fast, and use fewer compute resources 🚀
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
-
-
Metabase
The easy-to-use open source Business Intelligence and Embedded Analytics tool that lets everyone work with data :bar_chart:
-
-
scala
Scala 2 compiler and standard library. Scala 2 bugs at https://github.com/scala/bug; Scala 3 at https://github.com/scala/scala3
-
-
-
-
-
-
-
-
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
clojure discussion
clojure reviews and mentions
-
Create a Server Driven CLI from your REST API
Another project of mine Bob can be seen as an example of spec-first design. All its tooling follow that idea and its CLI inspired Climate. A lot of Bob uses Clojure a language that I cherish and who's ideas make me think better in every other place too.
- Clojure for the Brave and True
- Vamos falar sobre programação funcional? Uma abordagem diferente para resolver problemas.
-
Glojure: Clojure interpreter hosted on Go, with extensible interop support
Glojure author here! Your analysis is spot-on :). I'll definitely take a look at clojure.core-test. As components mature, I focus on improving compatibility by porting tests from Clojure [0], but they often require modifications to accommodate differences in the host language. As you noted, there are still several fundamental features missing — most notably some core data structures. That said, the implementation is robust enough to support another non-trivial hobby project [1].
A bit more detail on some of your observations:
> No JIT or AOT compilation (right now).
I do plan to implement AOT compilation eventually. JIT, however, is more complex. Go's "plugin" standard library [2] could serve as a mechanism, but its support is limited and not without issues [3].
> it looks like the analysis could be largely a port of tools.analyzer
Exactly! Another key implementation strategy has been the handling of clojure.core. Instead of reimplementing everything from scratch, the Clojure 1.11 core libraries are programmatically transformed to work with Go [4]. However, this approach has its downsides — many functions appear to be available but are non-functional because parts of their implementation haven't yet been adapted.
And by the way, impressive progress on Jank! I've been following it closely and really admire the work you're doing.
[0] https://github.com/clojure/clojure/tree/master/test/clojure/...
-
Scheming About Clojure
Clojure is a LISP for the Java Virtual Machine (JVM). As a schemer, I wondered if I should give Clojure a go professionally. After all, I enjoy Rich Hickey's talks and even Uncle Bob is a Clojure fan. So I considered strength and weaknesses from my point of view:
-
Top FP technologies
Clojure
- Debugging a memory leak in a Clojure service
-
Clojure 1.12.0 is now available
Here's what I mean by Malli's inability to check macros.
https://github.com/clojure/clojure/blob/ad54fec/src/jvm/cloj...
clojure.spec has a privileged spot in the compiler so that it can validate the data in macros. No other library can do this, because the Clojure compiler directly calls into clojure.spec and does not expose any sort of hook for validating macros.
- Try Clojure
-
Moving your bugs forward in time
For the rest of this post I’ll list off some more tactical examples of things that you can do towards this goal. Savvy readers will note that these are not novel ideas of my own, and in fact a lot of the things on this list are popular core features in modern languages such as Kotlin, Rust, and Clojure. Kotlin, in particular, has done an amazing job of emphasizing these best practices while still being an extremely practical and approachable language.
-
A note from our sponsor - InfluxDB
www.influxdata.com | 19 May 2025
Stats
The primary programming language of clojure is Java.
Review ☆☆☆☆☆ /10
Uncle Bob Martin insisted I take a look (www.youtube.com/watch?v=P2yr-3F6PQo) and then I found a wealth of brilliant ideas in its design (https://github.com/tallesl/Rich-Hickey-fanclub) and quickly fell in love with Clojure. Even though the onboarding experience was pretty rough, and learning how to use it is taking me way too long, I still consider Clojure the answer to all my prayers and want it to be my main programming language.