On Wednesday, 27 August 2014 at 00:32:20 UTC, Mike wrote:
I believe druntime's scope should be reduced to simply
implementing the language, not creating an OS or library API.
That's what phobos and DUB are for.
I'm asking this community to consider setting a new precedent
for druntime: reduce the scope to just the language
implementation, encapsulate and isolate the platform specific
logic (e.g. the ports - see 11666), and deport the artificial
dependencies to phobos or other libraries.
What do you think about following compromise:
1) C bindings are defined in spec to be optional
2) They are still kept in druntime repo but declared an
implementation detail
3) C bindings are defined to be mandatory in Phobos - if Phobos
is used with druntime that does not provide C bindings, it must
expose ones of its own.
It effectively keeps existing layout but moves from a
specification to implementation detail making binding-free
druntime 100% legal D implementation.