I can't claim to know much of anything about Java. But this sounds like it might be linked to Java's type system and Clojure is an untyped language. From what I know of typed languages I don't see how a Clojure style interface could be implemented in a typed language or why someone would want to do that if they have chosen a typed language. So I don't understand the point and I don't know Java.

I'm fairly confident that Java is technically capable of doing anything Clojure can since in the extreme case someone could implement a Clojure library callable from Java. In a similar way to how the Python community claims to do machine learning despite all critical code actually being in C++.

Okay... I thought you had something actually to contribute to the conversation

You start off incredibly dismissive

> Clojure is pretty smooth but there is nothing stopping anyone implementing any interface on any object in most languages; build some sort of adapting whatever

Then i explain how it seems not possible.. I mean maybe I'm wrong and missed some angle. I'm really willing to learn and change my mind here. And yes, the dynamism is part of the whole point.

And then you just handwave it away, making some vague analogy to Python and ML.. and don't actually have any technical input at all. What a frustrating waste of my time

> Okay... I thought you had something actually to contribute to the conversation

> You start off incredibly dismissive

You seem to think it is polite and reasonable to open a comment by being dismissive. I don't even think I was particularly dismissive, that would be reading a lot into two mildly disagreeable sentences.

> I mean maybe I'm wrong and missed some angle.

Well the conversation has manoeuvred to somewhere we neither of us are current on the topic, which is Java. I'm not sure why we're talking about Java, you can call Clojure libraries from Java, so there isn't anything Clojure can do that Java can't. Clojure is implemented in Java and Clojure protocols can be implemented on Java objects by proxying them.

It is difficult to say that Clojure has some magic trick Java doesn't under those conditions. Java has really good access to everything Clojure offers. Clojure's advantage is it organises what Java offers in a much more Senior-Engineer-friendly way that radically minimises complexity.