On 6 March 2013 09:28, John Colvin <john.loughran.col...@gmail.com> wrote:
> 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. > This is not new. Though people seem to only just be speculating the idea in the NG, the truth is that this has started to happen around 2 months ago. However this is a slow process that will take time. Regards -- Iain Buclaw *(p < e ? p++ : p) = (c & 0x0f) + '0';