Phobos 3 Discussion Notes - 02-01-2024

monkyyy crazymonkyyy at gmail.com
Mon Feb 5 17:11:08 UTC 2024


On Monday, 5 February 2024 at 16:46:20 UTC, Paul Backus wrote:
> On Monday, 5 February 2024 at 16:36:02 UTC, monkyyy wrote:
>> On Monday, 5 February 2024 at 15:40:11 UTC, Paul Backus wrote:
>>>> I think our goal is to make `-betterC` obsolete. As in: if 
>>>> you don't use the feature, you don't pay for it, and it's 
>>>> implicit.
>>>
>>> Even in the 100% pay-as-you-go world, I think we'll still 
>>> want Phobos APIs to avoid depending on (and paying for) more 
>>> druntime features than they really need to.
>>
>> This feels delusional to me; like I don't know how the formal 
>> style with its contracts and extra asserts and 5 layered 
>> datetime will ever avoid rogue imports that aren't part of a 
>> blessed compile environment.
>
> The way you avoid this stuff is by testing. Run your unit tests 
> with `-betterC` and any accidental druntime dependencies you 
> add will be revealed to you very quickly.

That just adds a singluar blessed environment, it will be very 
very unlikely that it will compile on wasm, a new embedded chip 
that releases in 2025, bsd, or a new rust os in 2040.

Which is a potential option but it's not a mythical 
"pay-as-you-go" and then you'll see nogc avocates being like "oi 
I needed to import toStringz but your (algorthim thats 100x 
simplier with allocation) allocates and broke my code, because of 
a 9 long import chain of unused code"

https://www.youtube.com/watch?v=a-767WnbaCQ

"just do ___"; no we are not even close to the phase change 
point, I suggest someone needs an answer for how you reduce the 
fundamental "order"/R0 of imports, which I think is 2 imports per 
file, or being extremely strict about local imports being in 
templates so they dont compile if unused


More information about the Digitalmars-d mailing list