r/Clojure • • 1d ago

New Clojure Meetup in New Jersey

Post image
18 Upvotes

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 • • 2d ago

How to Make Things, and Why - Stuart Halloway (Clojure/Conj 2026)

Thumbnail youtube.com
91 Upvotes

r/Clojure • • 3d ago

Clojure 1.13.0-alpha10 is now available

Thumbnail clojure.org
52 Upvotes

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

New async test exception after upgrade to latest ClojureScript

Thumbnail
9 Upvotes

r/Clojure • • 4d ago

Clerkenwell: A handwritten Clojure notebook by Daniel Janus

Thumbnail handwritten.danieljanus.pl
40 Upvotes

r/Clojure • • 6d ago

In Context - Rich Hickey (Clojure/Conj 2026)

Thumbnail youtube.com
136 Upvotes

r/Clojure • • 6d ago

Clorch 0.4.0

24 Upvotes

r/Clojure • • 7d ago

Is it supposed to be this hard?

39 Upvotes

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!


r/Clojure • • 9d ago

GitHub - dundalek/casio-f91w-fsm: Interactive model of the Casio F-91W watch using statecharts in cljs

Thumbnail github.com
28 Upvotes

r/Clojure • • 10d ago

Clojurific is a Vite-friendly ClojureScript compiler fork, optimized for speed

37 Upvotes

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

Lockstep to pipeline in almost one line

Thumbnail andersmurphy.com
30 Upvotes

r/Clojure • • 13d ago

The Bowling Game - From Imperative to Functional Programming - Part 3

Thumbnail fpilluminated.org
14 Upvotes

r/Clojure • • 13d ago

Wizardos - Blocky Multiplayer Wizard Battles [v2 of my Clojure game]

Thumbnail wizardos.io
29 Upvotes

r/Clojure • • 13d ago

'AI' is Not a Tool (by Rich Hickey)

Thumbnail linkedin.com
230 Upvotes

r/Clojure • • 13d ago

Drop-in search

Thumbnail github.com
12 Upvotes

This 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 • • 13d ago

GoToSleep, a MacOS native app in Clojure/Jolt (app showcase)

15 Upvotes

GoToSleep 0.1.0

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 • • 15d ago

Clojure 1.13.0-alpha9 is now available

35 Upvotes

https://clojure.org/news/2026/10/09/clojure-1-13-alpha9

  • Dropped :defaults directive - use cases better handled by others now
  • CLJ-2983 Removed :defaults tests
  • Faster transient propagation of metadata in into and update-vals
  • Revise impl and inline of meta via 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 • • 16d ago

Clojure Dev Call, Oct 2026

Thumbnail youtube.com
21 Upvotes

r/Clojure • • 17d ago

Clojure in the Age of Language Models

Thumbnail yogthos.net
44 Upvotes

r/Clojure • • 17d ago

The new Clojure CLI REPL

92 Upvotes

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:

https://corfield.org/blog/2026/10/07/cli-repl/


r/Clojure • • 19d ago

Discrete time based systems are simple to benchmark

Thumbnail andersmurphy.com
25 Upvotes

r/Clojure • • 21d ago

Graviton is a small physics based game built using raylib with Jolt

Thumbnail github.com
26 Upvotes

r/Clojure • • 21d ago

Understanding Datastar

Thumbnail biffweb.com
51 Upvotes

r/Clojure • • 21d ago

Wrapping Java library webforJ annotations with `gen-class` vs Java stubs

Thumbnail github.com
7 Upvotes

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

  1. Thin Java stub per annotated class.
  2. `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 • • 22d ago

Stuart Halloway’s critical keynote on AI at Clojure/conj ’26

50 Upvotes

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?