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/[email protected] [2] http://forum.dlang.org/post/[email protected]

Reply via email to