DIP 1021--Argument Ownership and Function Calls--Formal Assessment

Exil Exil at gmall.com
Wed Oct 23 04:20:19 UTC 2019


On Wednesday, 23 October 2019 at 00:03:35 UTC, Jonathan M Davis 
wrote:
> On Monday, October 21, 2019 6:59:21 AM MDT Exil via 
> Digitalmars-d-announce wrote:
>> >  This proposal is one step toward a larger goal outlined in 
>> > the
>> >
>> > blog post ['Ownership and Borrowing in 
>> > D'](https://dlang.org/blog/2019/07/15/ownership-and-borrowing-in-d/).
>>
>> That's the only line that was added, no other changes were 
>> made to the core DIP from the first revision to the last. Big 
>> ducking surprise this got accepted anyways.
>
> Did you expect anything else? Given that it was Walter's DIP, 
> and he's making the decisions, the only way that the DIP was 
> going to change was if he were convinced that the DIP was 
> flawed. He's been convinced of that before (e.g. the DIP that 
> was for adding a bottom type was written by Walter, but it was 
> rejected, because the community convinced him that it was a bad 
> idea).

I wasn't expecting any better, but I did have hope.

> He just wasn't convinced that this DIP was a bad idea.

The "problem" this DIP is supposed to solve (per the poorly 
written DIP) isn't actually solved by the DIP. No answer was 
given to that fact. Other than the actual problem this DIP was 
supposed to be solved will be fixed at a later date by a separate 
DIP.

> Personally, I didn't see any problem with this DIP, since it 
> just tightened down @safe a bit.

Breaking changes, the author took no time to even try to measure 
how wide spread it would be. There are no benefits, the problems 
that are supposed to be solved with it aren't actually solved. 
Not to mention the problem is actually solved just by using the 
GC. Like you are only able to in @safe code anyways.

> Whether the next steps in the "larger goal" are good ones is 
> another matter entirely, and those will be put in a DIP (or 
> multiple DIPs) and argued on their own at some point.

There's no reason for this one to be on it's own. It's useless on 
it's own, causes breaking changes, and who knows what the rest of 
the implementation might end up looking like. This is being done 
all prematurely.

> And if they're bad ideas, then hopefully he will be convinced 
> of that when those DIPs are discussed. Ultimately though, no 
> matter who comes up with the DIP, Walter has to be convinced 
> that it's a good idea. It's just that if it's his DIP, he's 
> already convinced that it's a good idea, so someone has to then 
> convince him otherwise for it to not be accepted.

It's hard to argue against an idea that isn't fully formed. All 
of his arguments against the DIP were based on the fact that 
nothing is implemented. It's easy to say, Oh that'll be fixed in 
Part 2 of a third DIP down the road.

> D wouldn't be what it is today.

You can look at it both ways, in that sense. (Half full glass)

Should create a DIPW process then, duck the foundation and any 
formalities. Which stands for DIPWalter, which simply consists of 
a single step where a single topic tries to convince Walter it's 
a bad idea. Why have two community reviews? Those are made with 
the assumption that the DIP will actually change between the 
reviews. What's the point of a "formal review" when there's just 
Walter talking to himself (rip Andrei). Why waste everyone's time 
on formalities when they obviously are irrelevant?


More information about the Digitalmars-d-announce mailing list