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!

Reply via email to