r/Clojure • u/pavelklavik • 7h ago
Static landing page in ClojureScript
orgpad.infoWe have spent quite some time building new static landing page for OrgPad and making it small and fast. The blog post summarises what we learned along the way.
r/Clojure • u/pavelklavik • 7h ago
We have spent quite some time building new static landing page for OrgPad and making it small and fast. The blog post summarises what we learned along the way.
r/Clojure • u/cjmurrr • 17h ago
Back in 2016 I asked on Stack Overflow why go blocks return a channel: https://stackoverflow.com/questions/36236869/why-do-core-async-go-blocks-return-a-channel
The accepted answer: use it as a handle, so other code can wait for the go block to finish, or take its result with <!!.
A lot has changed since. In the recent core.async alphas, go blocks were reimplemented on virtual threads, and then that was reverted. What stayed is io-thread running on virtual threads on Java 21+, so blocking I/O there no longer ties up a platform thread.
So, for those on recent core.async and Java 21+:
go rather than io-thread?r/Clojure • u/alexdmiller • 1d ago
r/Clojure • u/tcds-nu • 2d ago
Part 3 of “Learning Clojure from Scratch” is out!
The series teaches Clojure to people with little or no programming experience. In Part 1 we ran a web server on our computer. In Part 2 we put it on the internet.
This time we go from a website that says “Hello, World!” to one with a home page, an about page, and a polite 404 for URLs that don’t exist.
Note: I'm very interested in feedback on how to make this more beginner friendly
r/Clojure • u/alexdmiller • 4d ago
r/Clojure • u/njclojurians • 4d ago
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 • 5d ago
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.
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 • 6d ago
r/Clojure • u/alexdmiller • 9d ago
r/Clojure • u/sharificles • 10d ago
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!
https://github.com/WhimsicalCode/clojurific
r/Clojure • u/andersmurphy • 15d ago
r/Clojure • u/philip_schwarz • 15d ago
r/Clojure • u/ertucetin • 16d ago
r/Clojure • u/SimonGray • 16d ago
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 • u/didibus • 16d ago
A MacOS native app that locks your computer during "sleeping" blocks to force you to go to sleep.
And yes, I've been sleeping much better ever since!
r/Clojure • u/alexdmiller • 18d ago
https://clojure.org/news/2026/10/09/clojure-1-13-alpha9
:defaults directive - use cases better handled by others nowinto and update-valsmeta via RTr/Clojure • u/seancorfield • 20d ago
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: