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