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