On Tuesday, 14 February 2023 at 06:55:50 UTC, John Colvin wrote:
>In what way would they step on each others toes (more than they do separately)? A single repo solves a real problem, which is all the PITA caused when doing cross-cutting changes and an overly complex developer experience full of silly pitfalls and careful juggling (oh, right, I need to git pull on the other repo as well, maybe? Which dmd is this building with again? Oh damn I forgot to switch branches in 3 places at once). Putting aside status quo bias, any separation should also solve something comparable.
Agreed that the developer experience is currently sub-par.
The way I see the monorepo reasoning, it is attempting to solve systemic problems that surface when a few dimensions (at least projects & members, perhaps others) reach a very large scale. When you have more than 10k developers, employing someone to save them 10 minutes each per day is actually a 10x improvement.
What we will mostly loose by having a monorepo is a visible interface between core language and standard library. The interface will be less apparent, and easier to break. We have very concrete evidence that this is something that leads to problems (Tango/Phobos), and the separation exists today because of this.
In recent meetings, Walter complained that the DMD test suite depends on Phobos, and he's right. Fixing this problem would alleviate some of the issues you're describing it. LDC fixed that issue, and I think GDC did too, but DMD didn't yet.