Phobos 3 Discussion Notes - 02-01-2024

Lance Bachmeier no at spam.net
Sat Feb 3 19:08:34 UTC 2024


On Saturday, 3 February 2024 at 03:36:08 UTC, Adam Wilson wrote:
> On Friday, 2 February 2024 at 19:39:34 UTC, Lance Bachmeier 
> wrote:
>> On Friday, 2 February 2024 at 18:57:48 UTC, Adam Wilson wrote:
>>> 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.
>>
>> I responded to the other comment, but I'll give the same 
>> answer. What I'm proposing doesn't have anything to do with 
>> the packaging system, Dub, or any of that. The only thing the 
>> compiler would have to know is how to download the source 
>> files of a package if they haven't already been downloaded.
>
> But that's not true is it? How does it know which versions of 
> the package are acceptable?

It doesn't need to if only the most recent version as of the 
compiler release is supported.

> Which of the acceptable versions does it pull?

Answered above.

> How does it handle the packages' dependencies? You simply 
> cannot have the compiler pull a package without going through 
> the entire dependency resolution process.

This is actually a non-issue for many packages on code.dlang.org. 
I've been downloading the D source files and putting them in my 
repos for years. I specified that this would be for some of the 
popular packages, not arbitrary packages.


>>> 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.
>>
>> A sufficient reason is that I know how things get done around 
>> here, and an updated Phobos with these additions will 
>> optimistically be released in 2032. Most of the work has 
>> already been done. Why not reuse it?
>
> That's not a reason. You're saying that you know what the 
> reason is, that you're not going to state the reason,

I actually listed multiple good reasons in my original comment, 
all of which you ignored, so I gave another.

>> It's been eight months since I proposed a simple solution to 
>> the problem that library writers have to support too many 
>> compiler releases. Label some compiler releases as not being 
>> supported by library writers. It would have solved the problem 
>> fully and it could have been done by the end of the day. 
>> Obviously we couldn't do that. Instead we got editions. Eight 
>> months later, we still don't have an initial proposal, and the 
>> problem for library writers continues.
>
> That is pretty much where this is going to end. Walter and I 
> discussed tying Phobos releases to Compiler Editions, and he 
> was amenable to the idea, his only sticking point was to not 
> use "Editions" to describe Phobos, and "Versions" or "Releases" 
> works just fine for our purposes. I would expect to see Phobos 
> 3 land with the first Edition. Both of which I would expect in 
> 2025.
>
> I am sorry to hear that it's not getting there as fast as you 
> want it to, but that is the nature of volunteer projects, so 
> unless you're willing to step up and help out, it's going to 
> happen at pretty much whatever pace the rest of us can afford. 
> But don't expect much sympathy when you're whining about a 
> problem you're not doing anything to help solve.

This...doesn't make sense. There was a complaint that library 
writers have to support too many compiler releases. Well, that's 
an easy problem to solve, which the open source world has used 
for decades. Just say "we only support releases X and Y". I even 
gave examples. Wouldn't take any work at all, just a simple 
management decision, done.

Now you're telling me I should just shut up because I'm not the 
one doing any of the work that doesn't need to be done?

I give up.


More information about the Digitalmars-d mailing list