clojure-dev

mpenet 2025-07-23T07:46:45.636539Z

Is there any work ongoing related to https://clojure.atlassian.net/browse/CLJ-1255 ?

cfleming 2025-07-23T08:25:50.040599Z

There's a working fork of Clojure with the new forms here: https://github.com/cursive-ide/clojure/tree/defclass. I've been using it in Cursive for a very long time, it seems to work well.

cfleming 2025-07-23T08:28:53.951499Z

The original design doc is here: https://docs.google.com/document/d/1OcewjSpxmeFRQ3TizcaRRwlV34T8wl4wVED138FHFFE/edit?usp=sharing

cfleming 2025-07-23T08:29:44.043819Z

The fork is a little behind Clojure master, I think it's on one of the later betas of 1.12.0 at the moment, I don't anticipate problems bringing it up to date but I just haven't got around to it yet.

cfleming 2025-07-23T08:34:34.373949Z

The comment from Rich there says that he didn't want to overload reify and deftype - the current branch does not do that, it uses clojure.interop/extend-class and clojure.interop/defclass as analogues to reify and deftype. At the time the blocker to getting it looked at was that Rich wanted the fork rewritten to not touch any existing code paths, and neither Nicola nor I had the time to do that. The fork is in an as-is where-is state at the moment, it works well for me.

mpenet 2025-07-23T09:39:57.980839Z

Thanks for the explanation

mpenet 2025-07-23T12:40:40.118199Z

It’s can’t really check the patches easily (I only have my phone for a few days), but it would be great if that could be made standalone indeed. That could then just be distributed as a library initially.

2025-07-23T14:18:42.146089Z

related Ask about this, which you can vote and comment on: https://ask.clojure.org/index.php/3360/support-abstract-base-classes-with-java-only-variant-reify

cfleming 2025-07-23T19:44:12.250289Z

To be clear, if anyone wants to take on the work of separating those patches out into new code paths that don't modify the existing compiler, I'm very happy for that to happen - I think these changes would benefit Clojure's interop story greatly. I just don't have the bandwidth to do it myself.

👍 3