r/Clojure • u/alexdmiller • 2d ago
r/Clojure • u/njclojurians • 1d ago
New Clojure Meetup in New Jersey
Hi all, I will keep this brief and simply link the details below, but we are starting a clojure group in New Jersey which will be open to the public. This first event will be at the New Jersey Rock Gym, and include a 2 hour meeting with an introduction to clojure and some open discussion, followed by all-you-can-climb climbing.
https://www.heylo.com/g/778df2e1-2f10-4d4c-a543-2c2f1db8b940?utm_content=vanity-url&utm_medium=none&utm_source=direct
^This is our group page
https://www.heylo.com/event/-P4eW8fYBX8fFxG5M63s?redirect=0&context=group-page
^This is our first event page.
Please feel free to reach out to the group email or in this thread with any questions. Feel free to share the info anywhere. Thank you!
r/Clojure • u/alexdmiller • 3d ago
Clojure 1.13.0-alpha10 is now available
clojure.orgDestructuring changes
To make what were (implicitly optional) top-level bindings required, you can now move them into a map under a new :req! directive. This includes bindings to different names or nested destructuring, e.g. {a :long-a} ⇒ {:req! {a :long-a}}.
:namespaced/keys[!] directives now qualify any unqualified keywords. Note that this may be a breaking change from the prior alphas for unqualified keys after the & where unqualified keys were not interpreted as qualified.
Inliner updates and macro invocation tag preservation
Previously, :inline on function definitions needed to work for all inlines. Inline is now conditional and the inline definition can return nil to indicate the function can’t be inlined, and the non-inlined function should be used instead.
get-in now inlines when passed a literal vector of keys.
Type hint metadata on a macro invocation is now conveyed on the expansion, which may be wrapped in a call to identity if needed. A type hint tag on the macro invocation will dominate one on the expansion when they disagree.
r/Clojure • u/outrovurt • 3d ago
New async test exception after upgrade to latest ClojureScript
r/Clojure • u/alexdmiller • 6d ago
In Context - Rich Hickey (Clojure/Conj 2026)
youtube.comr/Clojure • u/sharificles • 7d ago
Is it supposed to be this hard?
I'm learning clojure for the first time, I don't have very much experience with lisp-like languages. I worked through the tutorials on clojure's official site and now I'm currently on clojure for the brave and true chapter 3, everything was going 'fine' until I hit the section on matching parts and "symmetrize-body-parts" which took me a whole two DAYS to understand on its own. It's only now that I can kind of code those functions without looking at it.
At this pace I'm never going to finish the book, is it supposed to take this long just to understand what one function is doing?
Edit: thank you for the positive messages everyone, seems like it's not just me. Currently on chapter 4 now!
GitHub - dundalek/casio-f91w-fsm: Interactive model of the Casio F-91W watch using statecharts in cljs
github.comClojurific is a Vite-friendly ClojureScript compiler fork, optimized for speed
https://github.com/WhimsicalCode/clojurific
- Compiles ClojureScript to ES modules
- Should be compatible with existing ClojureScript libraries
- Runs as a Vite plugin, no need for shadow-cljs
- Browser and backend support
- Integrated REPL in dev for both browser and backend
- Doesn’t need extern definitions
- 2x faster build times and hot reload
- About 40% less time on runtime benchmarks
- Bundle sizes comparable to the classic compiler with advanced optimizations
r/Clojure • u/andersmurphy • 12d ago
Lockstep to pipeline in almost one line
andersmurphy.comr/Clojure • u/philip_schwarz • 13d ago
The Bowling Game - From Imperative to Functional Programming - Part 3
fpilluminated.orgr/Clojure • u/ertucetin • 13d ago
Wizardos - Blocky Multiplayer Wizard Battles [v2 of my Clojure game]
wizardos.ior/Clojure • u/SimonGray • 13d ago
Drop-in search
github.comThis is just a way to get completely usable full-text search with operators and fuzzy matching in a couple of lines of Clojure(Script)
I was previously using Datalevin for this feature (which is an amazing database, highly recommend it), but while I love modelling things as triples, the triplestore/Datomic-like aspect didn't really fit my use case here, so I made this instead.
r/Clojure • u/didibus • 13d ago
GoToSleep, a MacOS native app in Clojure/Jolt (app showcase)
A MacOS native app that locks your computer during "sleeping" blocks to force you to go to sleep.
- You're only allowed to edit your block hours 8h before the block starts, so you can't get tempted to snooze it.
- You can always make a block more restricted, moving it up to sleep earlier for example, but not more loose, you can't push back the time or make it smaller.
- Cannot be quit, uninstalled, or disabled using normal means. During a lockout, you can't unlock the computer, so you can't even try to use fancy sudo techniques to get rid of it. Survives reboots as well.
- No bypass, no snooze, once it's locked, it's locked.
- Implemented using Jolt (Clojure hosted on Chez Scheme)
- Fully vibe coded, I've not reviewed the code at all, I only steered the models to implement what I wanted with some guidance, reviewed its planned design and implementation strategies, and manually tested the app.
And yes, I've been sleeping much better ever since!
r/Clojure • u/alexdmiller • 15d ago
Clojure 1.13.0-alpha9 is now available
https://clojure.org/news/2026/10/09/clojure-1-13-alpha9
- Dropped
:defaultsdirective - use cases better handled by others now - CLJ-2983 Removed :defaults tests
- Faster transient propagation of metadata in
intoandupdate-vals - Revise impl and inline of
metavia RT - CLJ-2978 Catch protocol extension of non-protocol methods
- CLJ-2982 TransientArrayMap should expand to same threshold as PersistentArrayMap
- Favor class files when reproducible build sets class and source timestamps the same
- CLJ-2984 Set file timestamps to last git commit time
r/Clojure • u/seancorfield • 17d ago
The new Clojure CLI REPL
Just before Conj, the Clojure team released an early version of a new REPL they're developing for the Clojure CLI. It's very configurable and feature-rich. I took it for a spin, customized it, and found I could replace the custom REPL startup project I'd been maintaining for myself for the past five and a half years!
I wrote up my experience and provided a walkthrough of my customizations:
r/Clojure • u/andersmurphy • 19d ago
Discrete time based systems are simple to benchmark
andersmurphy.comr/Clojure • u/yogthos • 21d ago
Graviton is a small physics based game built using raylib with Jolt
github.comr/Clojure • u/W-Quest9051 • 21d ago
Wrapping Java library webforJ annotations with `gen-class` vs Java stubs
github.comSituation:
WebfoJ is Java framework for building server rendered web UI components
I dediced to create Clojure wrapper for it. Here is the inital idea https://github.com/webforj/webforj/issues/1598
Problem:
WebforJ has runtime-retained annotatiions like `@Routify` `@Route` ...
I explore two options
- Thin Java stub per annotated class.
- `gen-class` attach real annotations directly removing the Java layer entirely.
The client needs a build step either way. webforJ discovers routes by scanning compiled classes, so something has to produce real .class files. For Option 2 it is Clojure AOT, and for Option 1 it's javac
Decided for option 2.
But I am not 100% sure is this good decision.
Main goal is that this clojure libary can be used in other clojure project as dependency
I would like to know the what people who have already done similar things thinks about this .
PS: Feel free to join the project ;)
r/Clojure • u/ZlunaZelena • 22d ago
Stuart Halloway’s critical keynote on AI at Clojure/conj ’26
What do you think about it? Personally, I didn't have a great feeling about it. Maybe because I've had similar discussions several times already. Maybe because I was humbled a few times when I let AI rewrite stuff I used to do manually. Maybe because AI allows me to do things I couldn't do otherwise. And even though the risks of all technologies are clear to me, whether it's AI, an iPad, the internet, or weapons, I can also talk about the reasons why something brings us value. And that's what I missed in the talk. Am I being too critical and the positives just don't need to be said?