Philosophy of how OS API imports are laid out in druntime

Kagamin spam at here.lot
Wed Mar 5 02:37:01 PST 2014


On Tuesday, 4 March 2014 at 00:09:47 UTC, Walter Bright wrote:
> This is an important debate going on here:
>
> https://github.com/D-Programming-Language/druntime/pull/732
>
> It has a wide impact, and so I'm bringing it up here so 
> everyone can participate.

So, if we combine your, Sean's and yebblies' proposals, we will 
have
1) ports folder with implementation subfolders for each os and 
their translated headers - this works better with your "copy what 
I need" use case - just copy your os's folder and you can work, 
you can't copy what you need if headers for the same os are 
spread across many folders.
2) public module core.stdc will conditionally import ports.os.* 
for platform-specific definitions compliant with C standard
3) public module core.sys.windows - it may depend on stdc and 
thus import ports.windows.*
4) public module core.sys.posix - for everything else, which 
corresponds to headers seen in unixes and conditionally imports 
ports.os.*, it may have a folder for windows for things like 
unistd if those didn't fall under stdc.
5) we probably shouldn't have cocoa and gtk?


More information about the Digitalmars-d mailing list