[RFC] Runtime, interfaces and implementations.

Dejan Lekic via Digitalmars-d digitalmars-d at puremagic.com
Wed Oct 26 03:20:15 PDT 2016


I have mentioned this on IRC quite few times in the past years, 
as well here on the newsgroups...

I really think the D runtime should have a std.api package 
containing what I call "module interfaces" (something similar to 
how Modula-3 treats interfaces and modules), and all existing std 
modules would "implement" these interfaces.

As pointed out in one of the threads where we touched this topic, 
we already have this in gc.gcinterface and gc.impl.manual.gc !

https://github.com/dlang/druntime/blob/master/src/gc/gcinterface.d
https://github.com/dlang/druntime/blob/master/src/gc/impl/manual/gc.d

I would even go to the next level, and extend the D language to 
support this via something like:

module mylib.foo extends api.bar;

where api.bar is somewhere in ../api/bar.di file that starts with:

module interface api.bar;

Naturally, there is tight relation with "module interface" and 
the .di extension...


More information about the Digitalmars-d mailing list