The DIP Process

Nicholas Wilson iamthewilsonator at hotmail.com
Thu Feb 28 07:00:28 UTC 2019


On Thursday, 28 February 2019 at 06:03:00 UTC, Walter Bright 
wrote:
> I propose that rejecting a DIP is NOT wasted effort.

Not a priori, no...

> Most language ideas come up again and again. If an idea is 
> rejected early in the process, it will come up again and people 
> will have to rediscover the thought process for why it was 
> rejected. The worst case will be not rediscovering the why, 
> then implement it, and find out the hard way.
>
> For example, we were pretty far along in the automatic ref 
> counting thing until Timon found a fundamental flaw in it that 
> everyone missed. It sunk the whole thing, we couldn't find a 
> way to make it memory safe.
>
> ARC keeps coming up again and again. But we don't have a DIP to 
> point to to show the fatal flaw, and we just have to remember 
> to point it out again.

... and yes, this establishes that equivalence to memory unsafety 
as a basis for rejection of proposals, ...

> A rejected DIP comes with a rationale,

... but it helps no-one if the rationale has no basis in fact, 
especially if that rationale is left as is.

> Rejected DIPs also form a basis and a standard for future DIPs. 
> Andrei and I have both noticed that C++ proposals have gotten 
> steadily better over the years.
> DIPs - rejected and accepted - form the corpus of knowledge 
> that make up what and why D is what it is.

Yes. And? This misses the point, yet again, that the problem is 
NOT the _outcome_ of the DIP (the DIP does have problems, e.g. 
exception handling), the problem is the _process_ that results in 
rejection on a false basis.

> Tl,Dr: Rejecting a completed DIP wastes time in the short term, 
> but saves time in the long term.

... if, and only if, the process is amended to avoid the problems 
observed with the process as a result of the DIP.



More information about the Digitalmars-d mailing list