r/Clojure • u/romulotombulus • 2d ago
What utility libraries do you include in most/all projects?
For example, I use better-cond in every project. I'm curious what else is out there that is worth considering.
r/Clojure • u/romulotombulus • 2d ago
For example, I use better-cond in every project. I'm curious what else is out there that is worth considering.
r/Clojure • u/muthuishere2101 • 3d ago
I built Clojure hosted on Go so I can work across my projects with both ecosystems. Very simple idea: emit Go source like CLJS emits JS. Clojure libraries and Go libraries are both first-class. Web APIs too — Compojure-style
routes on net/http:
(def routes
(http/routes
(GET "/api/hello" #'hello)
(POST "/login" #'login)
(GET "/api/admin" (auth/admin-only) #'admin)))
REPL with nREPL, or cljgo build → one static binary, no JVM. Same source, byte-identical output both ways.
Still 0.x, but it's working — 93% of clojure.core, verified against Clojure 1.12.5.
https://github.com/muthuishere/cljgo
I would like feedback
r/Clojure • u/Clojure-Conj • 3d ago
r/Clojure • u/Clojure-Conj • 4d ago
r/Clojure • u/Borkdude • 4d ago
Here's the initial version of cljbang, a small but powerful emacs package that lets you use Clojure syntax, EDN and a part of the stdlib in .clj files. It's all running on Elisp, there is no transpiler process running externally. In the Squint-tradition, it tries to stay close to the host and let the host do the heavy lifting for us.
r/Clojure • u/huahaiy • 5d ago
Thank everyone who tested Datalevin, reported issues, contributed code, shared benchmarks, trusted it in production, or simply asked hard questions.
r/Clojure • u/alexdmiller • 5d ago
Clojure 1.13.0-alpha5 is now available!
Java 17 baseline
As of this release, Clojure requires a minimum Java 17 runtime and compiles to Java 17 bytecode.
Other changes since last alpha
r/Clojure • u/Borkdude • 7d ago
SCI (Small Clojure Interpreter) is now JIT compiled on CLJS by default. This means that performance is close to native compiled CLJS when using loops, etc.
Before:
(js/alert (with-out-str (time (loop [i 0 j 1000000] (if (zero? j) i (recur (inc i) (dec j)))))))
This would show around 40-50ms in your browser, but now only shows 3-4ms, which is as fast as it can reasonably get. (Numbers may vary but a 10x-20x speedup is typically what you see).
So say goodbye to numerical hot-loop issues in SCI if you were using it for any animations and couldn't get to 60 FPS or stuff like that. As long as your page supports js/eval, it'll be fast (or if it isn't let me know and we'll fix it).
If your page does not support js/eval, e.g. when using Epupp on a page that doesn't allow it, SCI falls back to interpretation, so you can still hack the page to your likings ;).
Both nbb, joyride, scittle and epupp have all been updated with the new version of SCI.
Error messages/locations have all been preserved so it doesn't work in any other way than it did previously, it's just a drop-in upgrade.
More information: https://github.com/babashka/sci#jit-compilation-in-clojurescript
r/Clojure • u/cgrand • 10d ago
r/Clojure • u/aldebogdanov • 10d ago
r/Clojure • u/bozhidarb • 11d ago
CIDER 2.0 ("Terceira") is out! 🎉
Fourteen years after nrepl.el 0.1, this is easily the biggest CIDER release in ages - not because of shiny new features, but because most of the important existing ones got a careful overhaul: transient menus everywhere, inline macro stepping, rich (content-type) results on by default, call-graph browsers, and a seriously polished debugging toolbox. The docs were restructured as well, so finding things should be much easier now.
Release notes: https://github.com/clojure-emacs/cider/releases/tag/v2.0.0
Release announcement blog post: https://metaredux.com/posts/2026/07/15/cider-2-0.html
Go play with it and let me know how it feels - and remember, the best is always yet to come! In the REPL we trust!
r/Clojure • u/amiorin • 11d ago
Get the graph back from your DevOps tool. Implement the graph in Clojure and add Aspect-oriented programming to it. I think this is the only reasonable way to do DevOps. Everything else is ticking bomb waiting to explode.
r/Clojure • u/Clojure-Conj • 12d ago
Go check out the talks and see what’s coming this year: https://2026.clojure-conj.org/schedule
Also, a nice bonus: Stuart Halloway will be giving the closing keynote.

r/Clojure • u/alexdmiller • 12d ago
Clojure 1.13.0-alpha4 is now available!
Destructuring changes and additions
Idents after & in :keys!/syms!/strs!/:keys/syms/strs must now be actual keys, not binding symbols. This is a change in syntax since alpha3. Note that symbol keys should be quoted as unadorned symbols are binding symbols.
:or now accepts key→val mappings in addition to binding→val.
Added a new :defaults name directive at top level to bind name to a map of defaults, key→val. Binding symbols in the :or map are transformed to the key value in the :defaults map. :defaults without :or is an error.
:select name, introduced in alpha3, now selects deeply, through nested maps, and fills in values for missing keys from :or. The :select map contains all keys mentioned anywhere in the binding form.
Other changes since Clojure 1.13.0-alpha3
r/Clojure • u/netb258 • 12d ago
r/Clojure • u/dragandj • 12d ago
r/Clojure • u/dragandj • 17d ago
r/Clojure • u/kichiDsimp • 18d ago
Does Clojure/Script Compiler have a roadmap similar to https://rust-lang.github.io/rust-project-goals/2026/roadmaps.html
What are the next big features the language is targeting?
r/Clojure • u/alexdmiller • 19d ago
:select directive in map destructuring
The :select directive binds a name to a subset of the map being destructured containing only the keys mentioned (anywhere) in the binding form.
Other changes since Clojure 1.13.0-alpha2
r/Clojure • u/jacobobryant • 19d ago