I think this is probably due to what was in Scala, in contrast to what was suggested in the original article.
I also thought about this issue, differences in implementation, I came to the conclusion that the features in Scala really leave much to be desired. It is strange that Scala allows you to create, but not exclude, methods. To avoid conflicts, he borrowed something called a resolution method (or linearization in Scala -speak) from other languages. There the problem is well known for languages that support multiple inheritance, which I boldly classify Scala as a member of this group. The problem is that it is too complicated and takes a lot of time to understand.
Scala order resolution order is a strange beast, it has its own algorithm for sending a method. This is not Dylan C3, which is used in Python, with some known problems , but has all the problems associated with it. Even worse, I can find the Python object's MRO object by calling its .mro() method. Scala has no equivalent.
I can say that I do not really like to run the Scala MRO algorithm in my head for every time I need to look for where the method will be resolved.
Yh wong
source share