@bcc9c456 invokeDynamic doesn't yield much benefit for static languages, but I agree with you, as improvements in the JVM lifts all boats. And I also appreciate Java's backward-compatibility.
@54814b2f Hmm you're right. I misremembered the part it played in allowing other languages on the JVM. Probably because Kotlin and Java 7 came out roughly the same time.
@bcc9c456 invokeDynamic was awesome for JRuby, and it yielded some optimisations for Clojure, too. Scala is making use of invokeDynamic since version 2.12, when it dropped support for Java 6/7. And I think they did it to reduce the generate JAR size, but I'm not sure.