Comment by brabel
4 hours ago
JVM languages always target bytecode because it’s much simpler and stable than Java as a language. It almost never changes and when it does it normally won’t break code generation since it’s only adding type system information, for example, as with records.
Is Racket bytecode different?
JVM bytecode is well specified. [0]
Racket is not [1]. It's just the internal representation that the compiler uses. Sort of like marshalling in Python.
[0] https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-6.ht...
[1] https://docs.racket-lang.org/raco/API_for_Making_Bytecode.ht...