We have Jython
, JRuby
, Groovy
which are dynamically typed and runs over JVM
. I understand that these languages compile to byt
As others have pointed out, a dynamic language simply means that some (and often all) type checking is done entirely at runtime. You can build very dynamic languages even in very statically typed (or even nearly untyped (x86 machine code)) environments.
Java has also been adding more and more native support for dynamic languages. Sun published a very good overview of what this means and how it helps dynamic languages perform well and feel at home on the JVM.