
Steven D'Aprano writes:
Do you think that the order of arguments in func(a, b) doesn't matter?
Actually it doesn't: ``` def func(a, b): print(a) print(b) func(b=10, a=5) ``` would print 5, then 10 But i get what you mean, and i know very much it matters here.
One of the reasons why this discussion isn't going anywhere is that we agree that MI is difficult, but your "solution" to that is to make super() even more complex, with even more to learn, so that people can use MI in even more cases of problems which are better solved with another technique. I disagree, assuming all my proposal passes, super would be completely untied from MRO, which is the toughest nut to crack, it would allow to target the class you pass as an argument, which makes it much more straightforward to use than today. If we only add a kwarg target to super for example, then maybe it complexifies the design of super, but not it's uses.
They would be able to use it in more cases, sure, but the actual uses cases of today would also be easier to deal with. if today some cases are hard to solve with MI, and tomorrow those same cases are hard to solve with MI, but the other cases got simpler, isn't that an improvment? perhaps it's way to abstract now, would we benefit in this discussion from having some toy implementation of it so we could compare before / after?
It is like you only have one tool in your toolbox, super, and you want to solve every problem with it. It's more like you're given only one tool, and you realise it doesn't work well. But not everyone knows where to look for better tools. And we're here to design the toolbox, so let's adress this problem.