Moving druntime into the DMD repository

Seb seb at wilzba.ch
Tue Jul 31 20:48:06 UTC 2018


On Tuesday, 31 July 2018 at 19:54:20 UTC, Steven Schveighoffer 
wrote:
> On 7/31/18 2:24 PM, Walter Bright wrote:
>> Since DMD and Druntime require each other, it is the right 
>> thing to do.
>
> I think this is an incorrect relationship.
>
> DMD does NOT require Druntime, *testing* DMD requires Druntime.

Well DMD ships just happens to ship with Druntime ;-)

> In fact, I thought the whole point of the -betterC feature was 
> to eliminate any dependency on druntime.

That's only partially true. Even with -betterC, `object.d` will 
still be imported by default and actually many language features 
that work in -betterC will be lowered to druntime (even in 
betterC):

One simple example: https://run.dlang.io/is/41vvoO

> As we move to more and more library-provided hooks and away 
> from "compiler magic", this coupling will become less and less 
> prevalent.

On the contrary, DMD will depend more and more on druntime as the 
magic is now in druntime and not in the dmd source code.

> In fact, most of the changes that require both projects to be 
> simultaneously to be updated are these magic-removing ones.

Yes and no. Whenever you want to update a library hooks (which 
are implementation-defined and not part of the specification), 
it's rather complicated to do with keeping all CIs happy.

> If anything makes sense, it would be to remove the 
> compiler-dependencies out of druntime into a smaller runtime 
> library that is included in the dmd project. Most of druntime 
> is dependencies for the platform, not the compiler.

Good idea!




More information about the Digitalmars-d mailing list