[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] Auto assignment of attributes

2022-04-16 Thread Pablo Alcain
The problem of assigning init arguments as attributes has appeared several times in the past ( https://mail.python.org/archives/list/python-ideas@python.org/message/VLI3DOFA5VWMGJMJGRDC7JZTRKEPPZNU/ was the most recent we could find) and is already handled in dataclasses. Lately, discussing this

[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: mro and super don't feel so pythonic

2022-04-16 Thread Steven D'Aprano
On Sat, Apr 16, 2022 at 05:27:57PM +1200, Greg Ewing wrote: > On 15/04/22 10:37 pm, Steven D'Aprano wrote: > >If you look at languages that implement MI, and pick the implementations > >which allow it with the fewest restrictions, then that is "full MI". > > >I believe that Python (and other

[Python-ideas] Re: mro and super don't feel so pythonic

2022-04-16 Thread Steven D'Aprano
On Sat, Apr 16, 2022 at 05:56:13PM +1200, Greg Ewing wrote: > On 16/04/22 12:56 pm, Steven D'Aprano wrote: > >If you exclude models of MI which are logically incoherent and > >inconsistent, (such as Python's prior to version 2.3), then Python's > >model of MI is objectively as complete as you 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.

[Python-ideas] Re: Subclassing and inheritance [was Re: Re: mro and super don't feel so pythonic]

2022-04-16 Thread Chris Angelico
On Sat, 16 Apr 2022 at 14:33, Steven D'Aprano wrote: > > On Sat, Apr 16, 2022 at 11:07:00AM +1000, Chris Angelico wrote: > > > > > My view: If a class inherits two parents, in any meaning of the word > > > > "inherits" that follows the normal expectation that a subclass IS an > > > > instance of