On Wednesday, 27 August 2014 at 04:23:28 UTC, Mike wrote:
On Wednesday, 27 August 2014 at 00:32:20 UTC, Mike wrote:
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.
Please understand that I'm not suggesting we start refactoring
druntime for 2.067. All I'm asking for is that we recognize
that C/C++ library and OS bindings don't belong in druntime as
public modules, and we gradually work towards migrating them to
phobos or some other library in the years to come.
The reason these are in Druntime at all is because code in
Druntime depends on them. So if they were split into a separate
library then it would be a required library. And even if we
completely eliminate any dependency on standard C functions, I
don't see any way to avoid depending on platform-specific calls.
Now I would be fine with including just a subset of declarations
in Druntime (which is really what we have right now anyway), but
if the remainder were split into a standalone library then things
start to get weird. Please let me know if you have a solution to
this problem.