I was able to write some D last week!

Adam D. Ruppe destructionator at gmail.com
Thu Jul 11 13:55:45 UTC 2019


On Thursday, 11 July 2019 at 13:51:03 UTC, Adam D. Ruppe wrote:
> foundation modules (0 imports):

oh, I forgot terminal.d in here.

It is fun to combine the event loops of some of these, since I 
refuse to put a common interface in since that means another 
module. It tends to be implemented with template functions that 
talk to each other.

Similarly, the @scriptable annotation's canonical definition is 
in jsvar.d - it indicates compatibility with that (though it is 
mostly used through script.d, jsvar is the foundational data type 
for the script language, so a lot of the script's runtime logic 
is actually in there), but it is privately redefined as a string 
in a few different modules, so they work together without needing 
to import each other.

color.d and database.d are the two where I actually put in a new 
module to get a common interface. color.d because images and 
windows needed it, and database.d of course for those drivers.

I sometimes regret it... simpledisplay.d was so cool when it 
worked by itself, and now I have better techniques to decouple, 
but eh, it has used color.d since like 2011 now so oh well.

I also sometimes want to put in a foundational exception module. 
But again, it breaks my one import rule soooo yeah.


More information about the Digitalmars-d-announce mailing list