[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-26 Thread malmiteria
Steven D'Aprano writes: > It just means that Python > handles more cases than Eiffel or C++ Does C++ or Eiffel ban some class inheritance tree like python does? I can't find sources on that, although, i didn't spend an hour looking for it. But if not, i would say that python handle less cases

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-25 Thread Steven D'Aprano
On Sun, Apr 17, 2022 at 07:39:29PM +1200, Greg Ewing wrote: > On 16/04/22 10:26 pm, Steven D'Aprano wrote: > >C++ and Eiffel are even stricter (more restrictive) than Python. They > >don't just exclude class hierarchies which are inconsistent, they > >exclude class hierarchies with perfectly good

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-17 Thread Greg Ewing
On 16/04/22 10:26 pm, Steven D'Aprano wrote: C++ and Eiffel are even stricter (more restrictive) than Python. They don't just exclude class hierarchies which are inconsistent, they exclude class hierarchies with perfectly good linearizations because they have a method conflict. No, they don't

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread David Mertz, Ph.D.
R has changed a bit since 2005. My article was from then: https://gnosis.cx/publish/programming/R3.html I'm not trying to quibble about R, but simple to point out that what often mystified as "deep" about OOP is actually banal and fairly trivial. That might be how Alan Kay originally saw OOP. He

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread Steven D'Aprano
On Sat, Apr 16, 2022 at 12:23:10PM -0400, David Mertz, Ph.D. wrote: > R doesn't have inheritance, it's not OOP, R is OOP and always has been. All values, arrays, functions etc in R are objects. Even expressions are objects. And it has inheritance.

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread David Mertz, Ph.D.
On Sat, Apr 16, 2022, 12:26 PM Chris Angelico > wrote: > A button IS a widget. > A horizontal box IS a box. > A box IS a container. > A container IS a widget. > > Class hierarchies in graphical systems are just as much based on those > is-a relationships as any of those "horrible metaphors" you

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread Chris Angelico
On Sun, 17 Apr 2022 at 02:23, David Mertz, Ph.D. wrote: > One thing I do find a bĂȘte noire is the silly claim, that Chris repeats, that > inheritance expresses "Is-A" relationships. It was torture in the 1990s > hearing about vehicles and trucks and sedans as if that had something to do > with

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread David Mertz, Ph.D.
I don't really care what terms like "Full MI" or "True MI" are intended to mean. Python and MANY other programming languages that allow classes to have multiple parents, use a method resolution order (MRO) to decide which same-named method from a complex inheritance tree to use in a given call.

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread Chris Angelico
On Sat, 16 Apr 2022 at 20:28, Steven D'Aprano wrote: > So please stop falsely accusing me of "No True Scotsman" bullshit. If > you keep doing it, I will know you're not arguing in good faith. Fine. I'll accuse you, instead, of using "full MI" to mean "the best MI system that Steven D'Aprano can

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread Steven D'Aprano
On Sat, Apr 16, 2022 at 04:40:58PM +1000, Chris Angelico wrote: > > Which conditions would you drop? There's not that many, really. Five. > > Six if you include the "no cycles" requirement for the DAG, which I > > think is so obviously necessary that it is barely worth mentioning. > > This is

[Python-ideas] Re: Conditions for a coherent MI relationship [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread Chris Angelico
On Sat, 16 Apr 2022 at 14:25, Steven D'Aprano wrote: > > On Sat, Apr 16, 2022 at 11:07:00AM +1000, Chris Angelico wrote: > > > On Sat, 16 Apr 2022 at 11:00, Steven D'Aprano wrote: > > > > and therefore > > > > would become the only thing that offers "full MI", displacing other > > > > languages.