On Fri, Feb 20, 2015 at 11:11 AM, Stephen Hansen <me+python@ixokai.io> wrote:
I am trying to solve this problem. What I posted was just one simple idea how to solve it. Another one is the idea I posted earlier, the idea was to add metaclasses using __add__. People didn't like the __add__, so I implemented that with a new method called merge, it's here: https://github.com/tecki/cpython/commits/metaclass-merge
Instead of yelling at me that my solutions are too complicated,
Hello, I am very sorry that my post came across as yelling. I had no intention of that, though on re-reading it is rather harsh. I will try to be less confrontational in the future.
No. I'm sorry, but this needs to be responded to.
I'm a lurker, and find this discussion barely interesting at its best -- I've never had to combine metaclasses and no compelling case has been shown to my mind to interest me in fixing a so-called problem.
That said: In no way, shape or form did Petr "yell" at you. In no way shape or form was his response not an entirely technical argument made with detail and consideration. Its wholly inappropriate to respond to a criticism or critique with an accusation of "yelling" or implying your point of view is being bullied when its simply someone showing disagreement.
No, Martin had every right to call me out. I have offended, thus I was rude. It was my mistake. That said, I'm rude quite often – when I misjudge someone's sensitivity for rudeness, chances are I'm rude. It happens, and I am honestly sorry for it, so I try to correct it. You might also notice that there was nothing I lost by apologizing. And I would have nothing to gain by questioning Martin's right to feel offended.
No one yelled. No one was in any way even kind of abrasive or rude. Someone disagreed and laid out why.
Nonsense. Rudeness is a spectrum; it is impossible to be absolutely non-abrasive, just as like no code can be absolutely elegant. I think that strictly adhering to some expected threshold of rudeness in a list like this is harmful. It keeps some people out of the conversation. It is much better to take individual people into account. Being called out when something I write turns out to be offensive is necessary for calibrating the proper level of rudeness. I'd like to thank Martin for saying it directly, so I had a chance to defuse a grudge promptly.
To come back on them with an accusation of yelling-- bullying, really-- is inappropriate, at best. Please don't do it.
That said: I really don't think you've made a case for what this is solving.
I've used metaclasses many times, and have never run into this issue. I know there's some problems when Python is bridging with foreign object models-- ie, QT-- but does this really solve it? Is it really needed, and what's easier? To my reading of the thread previous, there were several people thinking that metaclasses were nuanced and problematic, but not that the problems you're trying to solve are fixable or even meaningful in context. People saying "there are issues with metaclasses" do not create a consensus to solve it by... this... thing... you're proposing is an their consensus. I don't know what its supposed to answer.
All in all, this entire thread just makes me disinterested immediately as "not a problem", personally. What's wrong that you're solving? You want to combine metaclasses -- but that entire idea seems slightly nonsensical to me because how do you know what any metaclass will do?
Meta-metaclasses sounds like a rabbit hole without a destination in mind.
You might not have run into the problem at hand, but it clearly is a problem for others. This thread is looking for a solution that would not be unnecessarily complicated for people who don't care. I think that at this point, the discussion is past the questions you are asking. Most have been asked, and mostly answered, in different words above. If you find one that hasn't, could you ask a more focused question?