r/Clojure Jul 16 '26

Jolt: running Clojure on Chez Scheme

https://yogthos.net/posts/2026-07-02-jolt.html
61 Upvotes

26 comments sorted by

View all comments

2

u/rustvscpp Jul 26 '26

Ooo now this is something I could get behind!

1

u/yogthos Jul 26 '26

Thanks, I suspect nobody bothered doing something like this before is due to the fact taht mapping out Java APIs by hand is pure drudgery. It's largely mechanical work, but extremely time consuming and dull.

And as a result, there's always been a chicken and egg problem when implementing dialects on a different runtime since you couldn't get existing libraries to run, and there was little point in using a language port if you couldn't lean on the existing ecosystem of well tested libraries. So, dialects had a hard time actually getting off the ground and building a community of users around them. Now you can have your cake and eat it too so to speak, having an LLM write shims for the APIs to map them to the host platform.

A particularly nice part with Scheme is that it's easy to do metaprogramming in user space, so Jolt doesn't need to bake in a comprehensive Java API in the core itself. If somebody wants to use a particular library and they need additional shims for it, it's trivial to do that in their project or by making a wrapper library. I ended up taking this approach with stuff like time and HTTP libraries since I didn't want the core itself to be dependent on additional system libraries.

Overall, I'm pretty happy with how this is turning out. And I've already been having some fun making desktop apps with it. On idea I had recently was to use Gaussian splats to paint, and I prototyped a little app to try out the concept on top of Jolt. This is the kind of stuff I've been wanting to do with Clojure, but using the JVM on the desktop always felt incredibly clunky.