On 04/12/13 23:14, Walter Bright wrote:
I'm opposed to it.
For one example, a year ago I had to make dmd work on Win64. LLVM didn't support
Win64. I would have been stymied.
It is very good for D to have 3 equivalent implementations - dmd, gdc, and ldc.
Each has its strengths and weaknesses. It makes for a very strong ecosystem.
The problem we have is that while all 3 implementations are equivalent, some
implementations are more equivalent than others ... :-)
Sometimes this can be a downstream problem -- people testing code with DMD but
not LDC or GDC, so bugs or issues don't get recognized (or they do, but the bugs
don't get reported to the compiler teams). But more fundamentally, it's that if
you're running git-HEAD DMD, you're running the very latest code, whereas if
you're running git-HEAD LDC or GDC, you're still running only the latest stable
frontend/runtime/standard library releases.
So, that means that if you need the ability to get fast turnaround on bugfixes
or new features, you HAVE to run DMD.
That really seems a constraint that we ought to be free of.