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.