D is our last hope

Steven Schveighoffer schveiguy at gmail.com
Wed Dec 20 02:33:37 UTC 2023


On Wednesday, 20 December 2023 at 00:34:18 UTC, Walter Bright 
wrote:
> On 12/19/2023 12:59 PM, Steven Schveighoffer wrote:
>>> I spent a whole afternoon carefully reviewing the DIP, only 
>>> to be told that wasn't what was implemented and I should read 
>>> the code. That was a waste of time.
>>>
>> 
>> No, no you weren't. You were told exactly what the spec is. 
>> What you did was take the examples of things *that are 
>> possible with the DIP* (not the specification),
>
> The dip was not the specification? The whole point of a dip is 
> to be a specification. Where is the specification, then? Why is 
> Atila reading the code and reverse engineering a specification 
> for it?

Clarifying here. I said you were arguing against the examples, 
which were in the DIP. Not the specification which also was in 
the DIP. Examples are examples, not specification. They *use* the 
feature to demonstrate its utility. They aren't intended to be 
part of the language additions.

The DIP has 2 parts:

part 1: Description (specification), and it is complete
part 2: Use Cases <= you are here, looking for the specification.

It would be like looking at [this part of 
DIP1010](https://github.com/dlang/DIPs/blob/master/DIPs/accepted/DIP1010.md#visitor-pattern-mathias-lang) and saying "where is the specification for the type Base? We can't add Base to the language, because it would be a breaking change for users who have made a type named Base! I can't continue review until this is resolved".

Which is not, of course, what happened. It was accepted. I don't 
know what the difference is or how to make you recognize it.

-Steve


More information about the Digitalmars-d mailing list