etc vs. package mangers

Jonathan M Davis jmdavisProg at gmx.com
Sat Oct 12 16:11:50 PDT 2013


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


More information about the Digitalmars-d mailing list