Official compiler

Radu via Digitalmars-d digitalmars-d at puremagic.com
Fri Feb 26 06:26:06 PST 2016


On Friday, 26 February 2016 at 13:11:11 UTC, Steven Schveighoffer 
wrote:
> On 2/26/16 7:02 AM, Radu wrote:
>> On Friday, 26 February 2016 at 11:01:46 UTC, Walter Bright 
>> wrote:
>>> I don't see anything unfair. gdc, ldc, and dmd are each as 
>>> good as
>>> their respective teams make them.
>>>
>>
>> The lack of fairness comes from the way the ecosystem is 
>> setup, you have
>> the reference compiler released, then everybody needs to catch 
>> up with
>> it. Why not have others be part of the official release? This 
>> will
>> undoubtedly increase the quality of the frontend and the glue 
>> layer, and
>> probably the runtime, just because they will be tested on more
>> architectures each release.
>>
>> No matter how you put it, both LDC and GDC are limited in 
>> manpower, and
>> also caught in the merge game with mainline. This is a bottle 
>> neck if
>> they need to attract more talent. Right of the bat you need to 
>> do a lot
>> of grunt work handling different repos, each at their own 
>> revision, plus
>> all the knowledge about build env and testing env.
>
> The issue here is the front-end not the back end. Daniel has 
> already stated this was a goal (to make the front end shared 
> code). So it will happen (I think Daniel has a pretty good 
> record of following through, we do have a D-based front end now 
> after all).
>
> Any effort to make both LDC and GDC part of the "official" 
> release would be artificial -- instead of LDC and GDC getting 
> released "faster", they would simply hold up dmd's release 
> until they caught up. And this is probably more pressure than 
> their developers need.
>
> When the front end is shared, then the releases will be 
> quicker, and you can be happier with it.
>
> -Steve

OK, a shared front end will be great!

My main concern is that if they are not integrated withing the 
daily pull-merge-auto-test loop they will always tend to drift 
and get out of sync while trying to fix stuff that breaks.

If the author of the pull request gets auto feedback from DMD and 
LDC on hes changes test results, than he will be aware of 
potential problems he might create.

The integration doesn't necessarily needs to be tightly coupled, 
i.e. LDC can keep its infrastructure and auto sync/run any merges 
from mainline. The issue is what to do with breaking changes.

Ideally, no breaking should be allowed for when fixing 
regressions or bugs, and any breaking on front-end or glue layers 
should at least be talked with the LDC/GDC guys.

All of the above needs steering from the leadership to follow 
trough.

And BTW, I'm happy with what D has become :), always room for 
improvements, thank you!


More information about the Digitalmars-d mailing list