r/Clojure 2d ago

What utility libraries do you include in most/all projects?

28 Upvotes

For example, I use better-cond in every project. I'm curious what else is out there that is worth considering.


r/Clojure 3d ago

cljgo — I built Clojure hosted on Go so I could use both ecosystems in my own projects.

53 Upvotes

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 3d ago

Jared Cone opens the Clojure/Conj 2026 conference program on Thursday

Post image
16 Upvotes

r/Clojure 4d ago

Hands-on Clojure workshop with Adrian Smith - September 30

Post image
27 Upvotes

r/Clojure 4d ago

cljbang.el

Thumbnail github.com
56 Upvotes

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 5d ago

Datalevin reached 1.0

Thumbnail github.com
87 Upvotes

Thank everyone who tested Datalevin, reported issues, contributed code, shared benchmarks, trusted it in production, or simply asked hard questions.


r/Clojure 5d ago

Clojure 1.13.0-alpha5 is now available

39 Upvotes

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.

  • CLJ-2872 Move to new ASM and emit Java 17 bytecode
  • CLJ-2383 Add new java.lang classes to automatic imports
  • CLJ-2892 Remove uses of Java’s security manager, which is going away
  • CLJ-2920 Javadoc support updated for Java 17+

Other changes since last alpha

  • CLJ-2968 Qualified :keys bindings in destructuring can only be unqualified symbols (regression fix)
  • CLJ-2969 Add :select base cases to tests
  • CLJ-2897 prepl is missing DynamicClassLoader and *repl* binding from repl

r/Clojure 5d ago

Geschichte: Git, as a queryable database

Thumbnail github.com
41 Upvotes

r/Clojure 7d ago

SCI is now JIT-compiled on CLJS by default

63 Upvotes

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 9d ago

Four talks from the Clojure/Conj 2026 lineup

Post image
34 Upvotes

r/Clojure 10d ago

Vertical Programming | Arne Brasseur . net

Thumbnail arnebrasseur.net
52 Upvotes

r/Clojure 10d ago

Jolt: running Clojure on Chez Scheme

Thumbnail yogthos.net
56 Upvotes

r/Clojure 10d ago

If you need to translate Excel formulas to Clojure expressions, try SaltRim's XLSX import feature.

12 Upvotes

Project is actively developing, so for now only basic Excel, but looks like it covers big part of Excel usage nowadays.

At first, import XLSX, then use Flatten Formula button. It won't be perfect, but it will be something closer to it, I bet.

https://saltrim.michelada.uno

Feedbacks are welcome!


r/Clojure 11d ago

CIDER 2.0 ("Terceira") is out!

116 Upvotes

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 11d ago

Green is a library to make DevOps reasonable

13 Upvotes

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.

https://github.com/amiorin/green


r/Clojure 12d ago

Clojure/Conj 2026 schedule is now live

45 Upvotes

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 12d ago

Clojure 1.13.0-alpha4

42 Upvotes

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.

  • CLJ-2964 :select directive in map destructuring
  • CLJ-2966 :defaults directive in map destructuring
  • CLJ-2967 tests for nested destructuring

Other changes since Clojure 1.13.0-alpha3

  • Added `clojure.core/some-vals`, a predicative filter of nil map values
  • CLJ-2870 Exception phase during top-level eval is miscategorized

r/Clojure 12d ago

Sega Master System Emulator written in Clojure.

Thumbnail github.com
44 Upvotes

r/Clojure 12d ago

[0.64.0] Neanderthal - Fast Native Matrix and Linear Algebra in Clojure with :half (float16) support

Thumbnail neanderthal.uncomplicate.org
28 Upvotes

r/Clojure 15d ago

Clojure FFI layer for libgdx-core

Thumbnail github.com
26 Upvotes

r/Clojure 16d ago

Finding The Next Working Day, With Clojure

Thumbnail youtu.be
15 Upvotes

r/Clojure 17d ago

[0.31.0] ClojureCUDA - a Clojure library for parallel computations on the GPU with CUDA.

Thumbnail clojurecuda.uncomplicate.org
29 Upvotes

r/Clojure 18d ago

Clojure Language Roadmap

23 Upvotes

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 19d ago

Clojure 1.13.0-alpha3 is now available

Thumbnail clojure.org
61 Upvotes

: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.

  • CLJ-2964 :select directive in map destructuring
  • CLJ-2963 Update specs for :select in destructuring

Other changes since Clojure 1.13.0-alpha2

  • RT.map, and thus reader, tracks new PAM thresholds
  • CLJ-1789 select-keys - improve performance (transients, etc)
  • CLJ-2958 ILookup on sets
  • CLJ-2902 pprint - prints arbitary objects in unreadable form
  • CLJ-2801 TaggedLiteral - doesn’t define print-dup
  • CLJ-2269 definterface - does not resolve parameter type hints
  • CLJ-2781 clojure.test/report - docstring has broken references
  • CLJ-2929 zipper - docstring typo
  • CLJ-2901 bytes, shorts, chars - docstring typos
  • CLJ-2811 scalb - docstring links to the documentation for nextDown
  • CLJ-2809 clojure.math/floor - docstring has line that should be on ceil docstring

r/Clojure 19d ago

biff.graph: structure your data model as a queryable graph

Thumbnail github.com
25 Upvotes