Phobos 3 Discussion Notes - 02-01-2024

Adam Wilson flyboynw at gmail.com
Fri Feb 2 18:57:48 UTC 2024


On Friday, 2 February 2024 at 16:46:29 UTC, Lance Bachmeier wrote:
> On Friday, 2 February 2024 at 14:46:45 UTC, aberba wrote:
>
> A better solution would be something like this:
>
> ```
> dub dxml;
>
> void main() {
>   // Call functions from the dxml package
> }
> ```
>
> The compiler would know about certain popular packages on 
> code.dlang.org. It would download the package if needed, and it 
> would know where to find the relevant files.

I cannot argue strenuously enough against putting the packaging 
system in to the compiler directly. Not only will it balloon the 
build times by orders of magnitude, it is a serious violation of 
separation-of-concerns. The compiler should concern itself with 
compiling code and nothing else. The compiler is the wrong place 
to be handling third-party packages, that is properly the venue 
of the build system.

> There are good reasons to not add that stuff to Phobos. The 
> standard to get something in Phobos is high enough that it 
> leads to a lot of wasted time for many people, it doesn't bloat 
> the compiler download size, it takes advantage of work that's 
> already been done, and it could be done quickly, rather than 
> the years it takes to get stuff done otherwise. (I'm writing 
> this fully aware of how things get done around here, but I'm 
> going to put it out there anyway.)

People always say there are good reasons, but are light on actual 
reasons. Saying that Phobos has a high bar is not itself a reason 
so much as an excuse to not make the effort.

In any case, I have a slightly different philosophy around PR's. 
I do not consider bikeshedding over formatting and other trivia 
to be a valid reason to delay a PR. I've posted about this 
elsewhere. If your code passes it's tests, delivers what it says 
it delivers, and helps us achieve our stated goals for the 
release, it goes in. Will bugs escape, sure, bugs escaping is 
normal, but I find our habit of using bikeshedding to stall out 
PRs we don't agree with to be rather odious. Merge buttons exist 
to prevent people from tying up PR's in bureaucratic nonsense. I 
intend to push them.

Furthermore, if you disagree with how a PR does something that is 
non-trivial, either offer up a competing PR or remain silent. If 
you do not offer up a competing PR then we will assume that you 
are either not as concerned as your comments make you sound, or 
you are not actually sure that your solution is better. In either 
case, you can always submit a PR to improve upon the original PR. 
PR's are free, let's make more of them.

Under my watch (if the community doesn't kick me out) Phobos will 
move faster. And yes, there might even be more bugs that escape. 
My plan is to use the monthly(Atila?) releases between the major 
roll-up releases mentioned in my original post to catch them 
before they get to the wider population.


More information about the Digitalmars-d mailing list