A while ago I read about Scala for LLVM and I kept wondering which things in the Scala language/specification/library) only exist to make the JVM happy or improve interop with Java.
Considering that running Scala on the LLVM provides much more freedoms and the plan is port the language (and not the whole Java ecosystem around it) which features won't make sense there?
Guidance: I'm wondering about things like Object#finalize
, the monitor stuff (notify
, wait
), clone
vs. Cloneable
, no 64-bit array indices, collection sizes limited to 32-bit, java.lang.String
, Java reflection, ...