On Wednesday, 6 March 2013 at 03:19:23 UTC, Jonathan M Davis wrote:
On Wednesday, March 06, 2013 02:44:07 Rob T wrote:
On Wednesday, 6 March 2013 at 00:25:30 UTC, Adam Wilson wrote:
[...]

> My preference would be to completely replace the back-end > with > LLVM. Why LLVM? Well as opposed to GCC it was designed from > the
> ground up to support many languages. The benefit here is that
> it is possible to create standalone compiler the generates > LLVM
> bytecode that can then be run through LLVM. My understanding
> (and I am happy to be corrected here) is that LLVM does not
> need the front-end to be compiled into the back-end.

That seems like the most obvious direction to take. Is there any
valid reason not to?

Because LDC already does that, there are potential legal issues with Walter working on other backends, and it's completely unnecessary. It's a shame that the stance of debian and some other distros makes it so that dmd can't be on them, but both gdc and ldc already exist and are both completely FOSS. The picky distros can just stick with those, and if anyone using them really wants
the reference compiler, they can just install it themselves.

I agree that it sucks that dmd's backend is not fully open source, but the code is available to read and provide fixes for, and no code compiled by it is affected by the license. All it really affects is whether it can go on some Linux distros, and given that we have two other perfectly good compilers which _can_ go on such distros, I don't think that it's at all worth worrying about dmd's license. There are much, much more important things to worry about (like
bug fixing).

- Jonathan M Davis

Is it realistic to consider making the frontend completely portable across backends?

I'm imagining a situation where there is no gdc/ldc frontend, just glue to the backend. The advantages seem significant.

Reply via email to