Kawa predates Clojure by a decade. (Kawa work started 1996; Clojure's initial release was 2007.) Also, Clojure isn't really focused on high performance, while that has always been a priority for Kawa, which generates bytecode similar to Java, especially if you include suitable type annotations. (It is likely Clojure have have improved in this respect - they have a lot more people working on it.)
Agreed, "Java" was an oversimplification. It's actually JVM bytecode. It's still strange in my book to use an object soup runtime for something (Lisp/Scheme) that feels closer to functional languages to me.
Clojure is a different case, because when you already are on the JVM anyway, then Clojure is still infinitely better than no Lisp at all. It's not the same as putting the JVM somewhere where it wasn't before and where it's not actually needed.
A serious Lisp/Scheme runtime needs a garbage collector. The JVM has probably the most advanced GC implementation around - for that reason alone it doesn't seem particularly strange to me.
It's like Dr Ian Malcolm says.. "Your developers were so preoccupied with whether or not they could, they didn't stop to think if they should" - Jurrasic Park (almost)
Per_Bothner|3 days ago
zombot|3 days ago
Clojure is a different case, because when you already are on the JVM anyway, then Clojure is still infinitely better than no Lisp at all. It's not the same as putting the JVM somewhere where it wasn't before and where it's not actually needed.
brazzy|3 days ago
atgreen|3 days ago