On Tue, Jul 29, 2014 at 04:24:27AM +1000, Daniel Murphy via Digitalmars-d wrote: > "Andrei Alexandrescu" wrote in message > news:[email protected]... > > >There'd also be the argument that using phobos inside ddmd would make > >the latter a better test for itself and phobos. -- Andrei > > This is true, but my main concern is the quality of the compiler > source. > > My main concerns are: (not in order) > - Compile time > - Binary bloat
I see this as a good thing, actually. Not that I think it's good to increase compile time and binary bloat, but that when this happens, we will have very strong incentives to do something about it, that will drive us to do whatever it takes for Phobos to *not* get in the way of fast compile times and to *not* introduce tons of template bloat. The end result will be a far better quality Phobos than we might ever achieve otherwise, since external D codebases wouldn't be as strong an incentive as the compiler itself would. > - Reduced scrutiny of code that is used in the compiler - I review > every single compiler patch, but I do not have time to do that for > phobos too Perhaps the solution is to get more people involved in this review? Y'know, increase the bus factor and everything. > - The compiler must build with the last release, and with HEAD. HEAD > phobos only needs to build with HEAD. [...] Would it be too unrealistic to set things up so that ddmd bootstraps itself with a *previous* release of Phobos, and then compile itself again with the latest Phobos git HEAD? (And by this I mean that `make -f posix.mak` will actually run through this bootstrap process, so that if something breaks, it will be very obvious in the autotester and we wouldn't pull whatever PR it is that caused the breakage.) This would ensure that whatever we do, ddmd won't become uncompilable with a previous release of itself, but will be effectively written in a prior version of D (or ideally, in the common subset of D between the two releases, or N releases if we decide to do that). T -- What is Matter, what is Mind? Never Mind, it doesn't Matter.
