What compromises Scala made to run on JVM?

jvm, jvm-languages, language-design, scala, scala-2.8

Solution

This article is a discussion with Martin Odersky (Scala's creator) and includes the compromises that were made in Scala for compatibility with Java. The article mentions:

- Static overloading of methods

- Having both traits and classes

- Inclusion of `null` pointers.

Problem

Scala is a wonderful language, but I wonder how could be improved if it had it's own runtime? I.e. what design choices were made because of JVM choice?

Original source