| |
| Posted by Guillaume Piolat in reply to H. S. Teoh | PermalinkReply |
|
Guillaume Piolat
Posted in reply to H. S. Teoh
| 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.
|