The Future of D Runtime
Adam Wilson
flyboynw at gmail.com
Tue Jun 18 06:12:53 UTC 2024
On Monday, 17 June 2024 at 22:58:13 UTC, Atila Neves wrote:
> On Thursday, 6 June 2024 at 18:00:56 UTC, Sebastiaan Koppe
> wrote:
>>
>> I think DRT only needs to concern itself with supporting
>> language features. Anything else needs to go elsewhere.
>
> Same here, and that it should be pay-as-you-go and as small as
> possible. Anything else should be regular D code.
Ok, then were does the Event Loop go? Or the `std.math` methods
that the compiler hooks? The basic problem with the premise is
that you're effectively saying "we're never going to do more than
DRT does today".
If we put this stuff directly into Phobos then we're back to a
compiled library as we'll be linking other static/dynamic
libraries in. Furthermore this is going to lead to an file-size
explosion in DRT. Very likely what you end up with is a bunch of
"internal" modules like `std.concurrency.internal.windows` which
is basically the same thing as a putting them in DRT.
What we are proposing *is* is a PAYGO solution. There is a
mini-runtime that is just the basics needed to allow the compiler
to link code. After that there will be larger rings around the
mini-runtime that support higher level features. If you're
porting, you must port the mini-runtime or the app won't link,
but if you don't port the higher level features, you just want be
able to use them.
More information about the Digitalmars-d
mailing list