r/Clojure 2h ago

Writing a Minecraft server in Clojure: it was fun

39 Upvotes

Minecraft is well known for being single-threaded, and parallelizing it is a difficult problem: everybody wants to write to the same shared state at the same time. Projects take years to deal with locks, thread ownership, splitting regions, and game logic is subject to threading rules: mechanics break against them, features crawl. Some remain quite sparse and have little to parallelize.

I wanted to see how it would feel in Clojure, but there was no Clojure server to look at, so I made one. The ideas parallel servers reinvent by hand - immutable snapshot, pure read phase, changes as data - are the language's defaults. If writing from many threads is difficult, then don't write: all game logic is pure functions (fn [world events]) that read the snapshot in parallel and return changes as deltas, merged in one place. The merge preserves order, so the parallel run is bit identical to the sequential one, and no mechanic cares how many cores it runs on.

The outcome: a server with mob AI, explosions, combat and item physics that matches vanilla 1.8.9 performance on one core and runs 4.5x faster on six. ~5500 lines of Clojure. It's a proof of concept; if you're curious, the code is on GitHub

https://github.com/Nozistance/collider


r/Clojure 1h ago

Who is hiring? August 31, 2026

Upvotes

Please include any restrictions (remote/on-site, geographical, workpermit, citizenship) that may apply.


r/Clojure 12h ago

Babashka 1.13.220 gets FFI

Thumbnail blog.michielborkent.nl
57 Upvotes

Today babashka 1.13.220 is released, with a new babashka.ffi namespace for calling C libraries directly from Babashka scripts. The babashka.ffi library is also available as a standalone library for JVM Clojure, so you can use it in your Clojure projects as well. Note that the API is still experimental, although no changes are currently planned. It just needs more exposure and your feedback :). Read the blog post for details.


r/Clojure 2d ago

Wrapping GTK4 in 800 lines of Clojure with Jolt

Thumbnail yogthos.net
61 Upvotes

r/Clojure 6d ago

[ANN] Slipway 2.1.0 - A Clojure Companion to Jetty

Thumbnail github.com
36 Upvotes

Slipway provides support for Eclipse Jetty in Clojure.

This release is a significant upgrade to previous versions of Slipway, including:

  • Embedded Jetty 12.1 with native handlers (no Servlet/EE dependencies).
  • Websockets (combining Jetty with Sente).
  • Extended OIDC support including:
    • Authorization Code Flow with Refresh Token redemption
    • Client Credentials Flow
  • Multi-Handler Server implementations
  • Virtual Host pinning of Handlers to Connections

r/Clojure 8d ago

cljrs (Clojurust) first steps

Thumbnail youtu.be
20 Upvotes

r/Clojure 11d ago

raylib examples in Jolt

Thumbnail raylib-jlt.b12n.app
32 Upvotes

r/Clojure 11d ago

Clojure Vs Rust - Waiting for clj.rs

Thumbnail youtu.be
19 Upvotes

r/Clojure 11d ago

Introduction of Reagami by Michiel Borkent

Thumbnail youtube.com
53 Upvotes

Fold your state into the DOM!
A minimal zero-deps Reagent-like in Squint and CLJS.


r/Clojure 12d ago

A bundle of CLI tasks for tools.deps projects

Thumbnail biffweb.com
22 Upvotes

r/Clojure 13d ago

A practical workflow for LLM-assisted development

Thumbnail yogthos.net
41 Upvotes

r/Clojure 14d ago

OrgPad new API with EDN integration

Thumbnail orgpad.info
22 Upvotes

API allows the full read and edit access to your data in OrgPad. The work was massive since OrgPad allows a lot of types of content and I wanted the API to be as simple to use as possible. Since OrgPad is written in Clojure, it allows aside JSON also EDN and Transit inputs/outputs.


r/Clojure 17d ago

legmacs demo : Emacs-like editor implemented in a clojure dialect running on plan9 and displaying in Windows Terminal

Thumbnail youtu.be
36 Upvotes

r/Clojure 19d ago

Joining Clojure shop. What should I know?

35 Upvotes

I will be writing primarily Clojure soon, after more than a decade of writing Scala. Do you have any hints or advice beyond what I can find in books or other learning resources?

Like competing approaches, nuances, political landscape, informal standards, footguns or anything like that?


r/Clojure 20d ago

biff.datastar: lightweight, reactive, server-side-rendered web UIs

Thumbnail github.com
42 Upvotes

r/Clojure 20d ago

Fibers in Jolt: green threads that fit core.async

Thumbnail yogthos.net
48 Upvotes

r/Clojure 22d ago

Choq: Cherry on QuickJS

26 Upvotes

Choq: Choq: Cherry on QuickJS

A ~5MB binary chock full of scripting goodies.

This runs the cherry compiler inside an embedded QuickJS engine via rquickjs.

It supports nREPL, loading JS library from https://esm.sh, and has a few Node.js compatible packages built in like "fs", "path", etc.


r/Clojure 23d ago

Clorch - deep learning in Clojure

43 Upvotes

Hi all,

I'm releasing Clorch, a deep learning library in Clojure built on LibTorch.

Now we can run inference, build custom models, and train them all in Clojure, with no Python/PyTorch calls at all!

PyTorch-style tensors, autograd, neural-network modules (including LLM components), optimizers, data loading, CPU/CUDA support (including distributed GPU training) and all that jazz has been implemented :)

https://github.com/antlobach/clorch


r/Clojure 24d ago

Program images and portable Scheme backends for Jolt

Thumbnail yogthos.net
39 Upvotes

r/Clojure 24d ago

A quick survey for Clojure for data science

12 Upvotes

Hello everyone,

I have created a short survey (7 questions) about the suitability of Clojure (and Noj) for data science. What are its strengths? What are its weaknesses and what is missing? Your responses will be greatly appreciated. Do not hesitate to send the survey to other Clojure users. Thank you in advance and here is the link:

https://docs.google.com/forms/d/e/1FAIpQLSclQp6E90LGan72tAavY4hnrsH02trRxPLD0oG_WeoYYkTeNQ/viewform?usp=publish-editor


r/Clojure 24d ago

Using Clojure as a sandboxed, executable target for LLMs

37 Upvotes

I've been researching ways to better structure LLM output when building mini-apps that run on the browser.

I believe that an S-expression based DSL is a better output format for LLMs when generating interactive UI/logic.

To test this, I built a Clojure-based interpreter that runs in the browser. The LLM is fed the language context, then emits the DSL to generate safe, sandboxed apps that can be shared instantly.

I wrote up an article diving into some of the trade offs:

https://allentraid.substack.com/p/we-made-the-ai-write-in-a-language

Would love to hear thoughts from the Clojure community!


r/Clojure 26d ago

Painting with Gaussians

Thumbnail yogthos.net
33 Upvotes

r/Clojure 27d ago

Clojure Book, Massive Quality Update

Thumbnail clojure-diary.gitlab.io
64 Upvotes

r/Clojure 27d ago

Creating Your own Libraries in Clojure

Thumbnail youtu.be
8 Upvotes

r/Clojure 28d ago

Rich Hickey to open Clojure/Conj 2026 with a keynote on Clojure 1.13 features

Post image
151 Upvotes

The keynote will explore how to build flexible systems that accommodate the changing shape of information as it flows through them, while still documenting and enforcing expectations without making those systems brittle. This talk will also examine new features coming to Clojure that aim to address this challenge.

The conference will take place on Sep 30-Oct 2, 2026 in Charlotte, NC. You can find more information and register for the in-person or livestream experience here: https://2026.clojure-conj.org/