DIP10005: Dependency-Carrying Declarations is now available for community feedback

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Fri Dec 30 10:11:54 PST 2016


On Wednesday, 28 December 2016 at 23:14:48 UTC, Andrei 
Alexandrescu wrote:
> On 12/28/16 10:48 AM, deadalnix wrote:
>> On Saturday, 24 December 2016 at 15:44:18 UTC, Andrei 
>> Alexandrescu wrote:
>>>> A compiler enhancement can do this _without_ a language 
>>>> change.
>>>
>>> The language addition has additional benefits as described by 
>>> DIP1005.
>>> -- Andrei
>>
>> Yes, question is, are these specific benefits worth adding a 
>> language
>> change ?
>>
>> Right now you got :
>>
>> A/ No language change, get X.
>> B/ Language change, get X and Y.
>>
>> It stand to reason that B should be evaluated on the benefit 
>> provided by
>> Y, and Y only, rather than X and Y, as X can be provided 
>> without the
>> language change.
>
> This is exactly what the DIP describes in detail. It 
> consecrates sections to alternatives. Is anything missing? -- 
> Andrei

This was more a comment about the current discussion than the 
DIP. A lot of discussion effort was focused on performance, but 
most of it can be achieved without language change - as the DIP 
states.

I think the performance gain we are looking at here is marginal, 
and I don't expect people to change their code to get a marginal 
benefit, so I suggest the performance aspect of the change to be 
simply left aside.

So the question now is would the added expressivity of per 
declaration import be worth the language change. I have to admit 
I'm not convinced either way.

Finally, while I proposed a variation of the "with import" combo 
in the past, I'm now much more convinced that using the plain 
import syntax, without the ';' is better. I was afraid there was 
a syntax conflict, but it doesn't looks like there is one. This 
will not introduce a new syntax, but allow an existing one to be 
used in a new location. This is, IMO, much more valuable.



More information about the Digitalmars-d mailing list