I’ve searched around for a long time now and haven’t come up with any official reason why scala doesn’t support multiple inheritance. I know traits solve a lot of things, but the developers of C# for example give an explicit reason why not to implement it (link here).
Any pointers?
3
One of Scala’s primary design goals is to interoperate with Java as smoothly as possible. In order to achieve this, a Scala class must have a one-to-one correspondence with a JVM class. Because the JVM ddoesn’t support multiple inheritance, it would therefore be impossible for Scala to do so without introducing massive hacks.
1
Scala does support Multiple Inheritance: you can inherit from as many traits as you want.
So, the reason for why there is no official documentation for the reasons for not supporting MI is simply that there aren’t any, because Scala does support MI. You say “traits solve a lot of things”, and MI is one of them.
3