Clojure programming language discussion

555 readers
1 users here now

Clojure is a Lisp that targets JVM and JS runtimes

Finding information about Clojure

API Reference

Clojure Guides

Practice Problems

Interactive Problems

Clojure Videos

The Clojure Community

Clojure Books

Tools & Libraries

Clojure Editors

Web Platforms

founded 5 years ago
MODERATORS
26
 
 

Models are messy

https://ericnormand.substack.com/p/models-are-messy

Our last episode was with Fogus. It was a great episode where we learn from his experience as a core contributor. The next episode is on Tuesday, May 6 with special guest JP Monetta. Please watch us live so you can ask questions in the chat.If you...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

27
 
 

When You Get to Be Smart Writing a Macro

https://tonsky.me/blog/hashp/

Day-to-day programming isn’t always exciting. Most of the code we write is pretty straightforward: open a file, apply a function, commit a transaction, send JSON. Finding a problem that can be solved not the hard way, but smart way, is quite rare....

#clojure #clj #cljs !clojure@lemmy.ml @clojure

28
 
 

CIDER 1.18 (“Athens”)

https://metaredux.com/posts/2025/04/30/cider-1-18.html

Great news, everyone - CIDER 1.18 (“Athens”) is out! This is a huge release that has an equal amount of new features, improvements to the existing ones, and also trimming down some capabilities in the name of improved efficiency and...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

29
 
 

Next-level backends with Rama: personalized content moderation in 60 LOC

https://blog.redplanetlabs.com/2025/04/29/next-level-backends-with-rama-personalized-content-moderation-in-60-loc/

This is part of a series of posts exploring programming with Rama, ranging from interactive consumer apps, high-scale analytics, background processing, recommendation engines, and much more. This tutorial is self-contained, but for broader...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

30
 
 

Towards the cutest neural network and dubious ideas for a code CAD language

https://kevinlynagh.com/newsletter/2025/_04/_towards/_the/_cutest/_neural/_network/

Towards the cutest neural network I recently needed to use a microcontroller to estimate the pose (translation and orientation) of an object using readings from six different sensors. Since the readings were non-linear and coupled with each other,...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

31
 
 

Introducing core.async.flow

https://clojure.org/news/2025/04/28/async/_flow

core.async 1.9.808-alpha1 is now available, featuring the first release of core.async.flow. You can read more about core.async.flow in the rationale and the docs. core.async.flow is in alpha state - all APIs are still subject to change but we...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

32
 
 

Introducing core.async.flow

https://clojure.org/news/2025/04/28/async/_flow

core.async 1.9.808-alpha1 is now available, featuring the first release of core.async.flow. You can read more about core.async.flow in the rationale and the docs. core.async.flow is in alpha state - all APIs are still subject to change but we...

#clojure #clj #cljs !clojure@lemmy.ml @clojure@lemmy.ml

33
 
 

Building a Bitemporal Index (part 1): A Taxonomy of Bitemporal Data

https://xtdb.com/blog/building-a-bitemp-index-1-taxonomy

#clojure #clj #cljs !clojure@lemmy.ml @clojure

34
 
 

How to choose the target language for a migration

https://tomassetti.me/how-to-choose-the-target-language-for-a-migration/

How to choose the target language for a migration? There are moments in the life of a software system—and in the life of those responsible for it—when you feel trapped. Trapped by a language that once served you well but now feels like a cage....

#clojure #clj #cljs !clojure@lemmy.ml @clojure

35
 
 

Automatic Type Conversion in Clojure

https://clojure-diary.gitlab.io/2025/04/27/automatic-type-conversion-in-clojure.html

Code ;; automatic_type_casting.clj 42 (type 42) (type 42.5) (+ 42 42.5) (type (+ 42 42.5)) 42.7M (type 42.7M) (+ 42.5 42.7M) (type (+ 42.5 42.7M)) (type (+ 42 42.0)) (type 994824757458783748579437258798745.278375725925479247582945754M) (type (+...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

36
37
 
 

Babashka Java interop, reflection and type hints

https://blog.michielborkent.nl/babashka-java-reflection-type-hints.html

Consider the following Clojure code:(def thread-pool (java.util.concurrent.Executors/newCachedThreadPool)) (def fut (.submit thread-pool (fn [] 3))) @fut ;;=> ? I didn't use any type hints, but the names of the vars should give you an idea what's...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

38
 
 

Compiling Clojure to WebAssembly

https://shagunagrawal.me/posts/compiling-clojure-to-wasm-image/

Post about compiling clojure to a web assembly module using GraalVM native image.

#clojure #clj #cljs !clojure@lemmy.ml @clojure

39
 
 

Clojure Deref (Apr 25, 2025)

https://clojure.org/news/2025/04/25/deref

Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS). Thanks to Anton Fonarev for link aggregation. Podcasts, videos, and media Fogus guests on Apropos Clojure 2025-04-22 - apropos...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

40
 
 

Clojure Deref (Apr 25, 2025)

https://clojure.org/news/2025/04/25/deref

Welcome to the Clojure Deref! This is a weekly link/news roundup for the Clojure ecosystem (feed: RSS). Thanks to Anton Fonarev for link aggregation. Podcasts, videos, and media Fogus guests on Apropos Clojure 2025-04-22 - apropos...

#clojure #clj #cljs !clojure@lemmy.ml @clojure@lemmy.ml

41
 
 

JSAM: a simple JSON writer and reader

https://grishaev.me/jsam/

JSam is a lightweight, zero-deps JSON parser and writer. Named after Jetstream Sam. Small: only 14 Java files with no extra libraries; Not the fastest one but is pretty good (see the chart below); Has got its own features, e.g. read and...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

42
 
 

Fixed Order Sorting in Clojure

https://camdez.com/blog/2025/04/23/fixed-order-sorting-in-clojure/

Here’s another tidy bit of Clojure that makes me happy… Of course it’s easy to sort items in the natural order: (sort [1 3 4 2]) ; => (1 2 3 4) Or via a mapping to elements that sort in a natural order: (sort-by count ["xx" "xxx" "x"]) ; => ("x"...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

43
 
 

An Appearance on Apropos

https://blog.fogus.me/2025/04/23/apropos-me/

I was fortunate to appear on the April 22, 2025 episode of the Apropos podcast...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

44
 
 

Look at how little I need

https://emil0r.com/posts/2025-04-23-look-at-how-little-i-need/

I recently found the time to rewrite an old library of mine from the ground up: ez-form. This is one of the first libraries I wrote for Clojure, based on code I found myself writing yet again, in yet another project. Forms for the web is one...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

45
 
 

No, really, you can’t branch Datomic from the past (and what you can do instead)

http://blog.danieljanus.pl/2025/04/22/datomic-forking-the-past/

I have a love-hate relationship with Datomic. Datomic is a Clojure-based database based on a record of immutable facts; this post assumes a passing familiarity with it – if you haven’t yet, I highly recommend checking it out, it’s enlightening even...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

46
 
 

How G+D Netcetera used Rama to 100x the performance of a product used by millions of people

https://blog.redplanetlabs.com/2025/04/22/how-gd-netcetera-used-rama-to-100x-the-performance-of-a-product-used-by-millions-of-people/

“Rama enabled us to improve the performance of two critical metrics for Forward Publishing by over 100x, and it reduced our AWS hosting costs by 55%. It sounds like a cliché, but learning Rama mostly involved us unlearning a lot of the conventional...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

47
 
 

Small modular parts

https://ericnormand.substack.com/p/small-modular-parts

Our last episode was with David Nolen. We talk about his development process, his origin, and his philosophy. The next episode is on Tuesday, April 22 with special guest Fogus. Please watch us live so you can ask questions.I have finally released...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

48
 
 

The Duality of Transducers

https://camdez.com/blog/2025/04/21/the-duality-of-transducers/

I finally got around to re-recording and posting this talk on Clojure’s transducers that I gave last year to the Austin Clojure Meetup: The talk walks through what transducers are, their benefits, where they make sense to use (and where they...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

49
 
 

Local S3 storage with MinIO for your Clojure dev environment

https://www.emcken.dk/programming/2025/04/21/local-s3-storage-with-minio-for-clojure-dev-env/

Simple Storage Service or S3 Cloud Object Storage is a versatile and cheap storage. I’ve used it for invoices, contracts, media, and configuration snapshots, among other things. It’s a perfect fit when the object key (or what many might think of as...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

50
 
 

Clojure Submaps

https://camdez.com/blog/2025/04/21/clojure-submaps/

The gentleman behind Clojure Diary was kind enough to recently post a video based on a small comment I made on his YouTube channel: Clojure Diary - Elegant way of filtering maps based on key value pairs. (Please check out his channel as he’s doing...

#clojure #clj #cljs !clojure@lemmy.ml @clojure

view more: ‹ prev next ›