named arguments, string interpolation, please stop.

Guillaume Piolat first.name at gmail.com
Fri Jan 12 16:34:03 UTC 2024


On Friday, 12 January 2024 at 15:18:48 UTC, H. S. Teoh wrote:
>
> They don't.  They cater to their own use case, leaving 
> everybody else out.  That's why D's library ecosystem is 
> fragmenting.  That was the point: things like @nogc, betterC, 
> etc., are fragmenting the ecosystem.

It does, but it's not like the cases where people want to use 
betterC or @nogc aren't valid, like claptrap said. A static 
guarantee is really helpful here all the time.

The most restricted sort of D can be used almost anywhere, such 
as the (pretty much un-D in spirit) nothrow @nogc no-exceptions 
betterC-compatible struct-only subset.
So in large parts it is possible to not fragment some of the 
low-level unopinionated libraries.

When this is done, the biggest issue left is plain old manual 
handling, as bad as ever.

The "true fix" for that is a druntime that can go anywhere in any 
situation (statically linked, with GC hooks) and this is it seems 
the call of "OpenD" afaik, but that's not what we have now.

Even if possible there are cases where you may just want a C 
runtime, such as was highlighted by the Mir project. Or Inochi2D 
planning to go @nogc for portability reasons. What's really new 
here is Hipreme being able to run a sizeable D subset with a 
custom runtime, that only requires no-exception AFAIK.


More information about the Digitalmars-d mailing list