Am 13.10.2013 01:11, schrieb Jonathan M Davis:
On Saturday, October 12, 2013 11:09:21 SomeDude wrote:
On Monday, 7 October 2013 at 07:12:13 UTC, Jonathan M Davis wrote:
On Monday, October 07, 2013 08:36:16 Jacob Carlborg wrote:
On 2013-10-06 22:40, Andrei Alexandrescu wrote:
I think /etc/ should be a stepping stone to std, just like
in C++ boost
is for std (and boost's sandbox is for boost).
Currently "etc" seems like where C bindings are placed.
That's what I thought that it was for. I don't remember etc
ever really being
discussed before, and all it has are C bindings, so the idea
that it would
hold anything other than C bindings is news to me, though I
think that we
should probably shy away from putting C bindings in Phobos in
general.
- Jonathan M Davi
The problem is, if these C bindings are removed, the immediate
reflex will be to think that Phobos doesn't have the features
that were fulfilled by these bindings. So the impulse will be to
reinvent the wheel, when these bindings are perfectly okay and do
the job well. C bindings is a way to save us time and build upon
proven quality libraries. I don't see any problem with C bindings
being in the standard library, as long as they are really useful
and high quality. The "not invented here" itch is a bad one. The
workforce of the community should be directed at real problems
and filling real gaps, rather than being wasted at reinventing
the wheel merely for aethetic/ideological reasons.
I don't see any need to remove etc.
Deimos is for C bindings, not Phobos. We don't want any more modules in std
built on top of C bindings for libraries that aren't guaranteed to be on all
of the systems that we support. Having std.net.curl has been very problematic
due to the problems with getting a proper version of libcurl to link against
in Windows, and there has even been some discussion of removing it entirely.
So, there will be no more Phobos modules built on anything like curl or
openssl or gcrypt or any other C library which isn't guaranteed to be on all
systems. That being the case, there's no point in putting C bindings in
Phobos. Deimos was created specifically so that there wolud be a place to get
bindings to C libraries. We may want to make some adjustments to how Deimos is
handled, but it's our solution to C bindings, not Phobos:
https://github.com/D-Programming-Deimos
druntime should have C bindings for the OSes that we support, but that's the
only C bindings that should be in D's standard libraries. Whether we'll remove
any that we have is still up for debate, but we're not adding any more.
- Jonathan M Davis
+1 for removing std.net.curl.
--
Paulo