Philosophy of how OS API imports are laid out in druntime

Mike none at none.com
Thu Mar 6 15:56:10 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.

I originally posted issue 11666 after reading Iain's post here 
[1], as I am trying to port the D Runtime to a bare-metal 
platform and couldn't see the abstractions in the D Runtime.

If this statement about Iain's stance is correct ("Iain wants to 
be able to split a single platform easily from the rest") then I 
am with Iain.

However, I see from the whole posix/C debate, that D is having 
somewhat of an identity crisis.  And I think if D could decide 
what it wants to be, the solution may present itself.

*Question*
Does D's implementation require an OS, or does the OS's 
implementation require a language like D?

I refer you to a suggestion by Manu here [2].
"I prefer the idea already mentioned of making a more well-defined
separation of D-core (static stuff), and then the rest as a 
higher layer."

I think there should be 3 different abstractions in the D Runtime:
1. Language features.
2. OS features built on those core language features.
3. Language features built on those OS features

Finally Phobos can be built on top of 3.

Each one of those abstractions would require a platform's 
folder/package.  How those folders/packages should be organized 
can be further debated, but without first making these 
abstractions, the discussion becomes too convoluted.

My opinions:
* D should not require C
* D should not do things the C way
* Some features of D should not require an OS

destroy(me);

Mike

[1] 
http://forum.dlang.org/post/mailman.1526.1333966829.4860.digitalmars-d@puremagic.com
[2] 
http://forum.dlang.org/post/mailman.18.1392171489.6445.digitalmars-d@puremagic.com


More information about the Digitalmars-d mailing list