Is it safe to say that the Java virtual machine was 'originally' designed for the Java programming language, but now, other developers have been able to write programming languages that compile to Java bytecode like Scala, Jython and JRuby.

There are still 'object oriented' references in the Java bytecode like interfaces, methods, fields. For example invokespecial is a call on a 'object' method.

It is not a pure stack virtual machine with pure a language agnostic instruction set. For example, a pure FORTH implementation would only have stack operations.

The question, is the JVM language agnostic or not?