Clojure programming language discussion

546 readers
2 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
1
 
 

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

2
 
 

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

3
4
 
 

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

5
 
 

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

6
 
 

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

7
 
 

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

8
 
 

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

9
 
 

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

10
 
 

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

11
 
 

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

12
 
 

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

13
 
 

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

14
 
 

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

15
 
 

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

16
 
 

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

17
 
 

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

18
 
 

Setup Emacs to autoformat your Clojure code with Apheleia and zprint

https://jakemccrary.com/blog/setup-emacs-to-autoformat-your-clojure-code-with-apheleia-and-zprint/index.html

Keeping code consistently formatted is important for readability and maintainability. Once you get used to having a computer format your code for you, manually formatting code can feel tedious.For the last few years, my team has been using zprint...

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

19
 
 

Q2 2025 Funding Announcement

https://www.clojuriststogether.org/news/q2-2025-funding-announcement/

Clojurists Together is excited to announce that we will be funding 6 projects in Q2 2025 for a total of $33K USD (3 for $9K and 3 shorter or more experimental projects for $2K). Thanks to all our members for making this happen! Congratulations to...

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

20
 
 

Clojure Power Tools Part 3

http://www.karimarttila.fi/clojure/2025/04/20/clojure-power-tools-part-3.html

Clojure REPL. Table of Contents Introduction VSCode, Calva and REPL Editor Integration Babashka Fullstack Libraries Metosin Libraries: Reitit, Malli and Jsonista Aero and Integrant Replicant and Hiccup ...

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

21
 
 

Optimizing syntax-quote

https://blog.ambrosebs.com/2025/04/20/optimizing-syntax-quote.html

Syntax-quote in Clojure is an expressive reader macro for constructing syntax. The library backtick demonstrates how to write syntax-quote as a macro. Both approaches are ripe for optimization—take these programs that both evaluate to []: '`[] ;=>...

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

22
23
 
 

Added video links to Clojure Book

https://clojure-diary.gitlab.io/2025/04/18/added-video-links-to-clojure-book.html

Some might like to read text and learn, some might want to watch videos and learn. Clojure Book has got a video playlist which you can access here https://www.youtube.com/playlist?list=PLKJ%5C_YtZXuW%5C_Azc3o9rm86n5D1bSavwpvE. Apart from that Clojure...

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

24
 
 

Clojure Deref (Apr 17, 2025)

https://clojure.org/news/2025/04/17/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 Episode 10 …​ the refactoring continues until the code...

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

25
 
 

Next-level backends with Rama: fault-tolerant timed notifications in 25 LOC

https://blog.redplanetlabs.com/2025/04/16/next-level-backends-with-rama-fault-tolerant-timed-notifications-in-25-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

view more: next ›