Mars Drafting Library - Official community driven library
Zach the Mystic via Digitalmars-d
digitalmars-d at puremagic.com
Sun Feb 1 06:40:15 PST 2015
On Saturday, 31 January 2015 at 23:03:52 UTC, Piotrek wrote:
> On Saturday, 31 January 2015 at 20:34:32 UTC, Zach the Mystic
> wrote:
>
>> The most important thing about a standard library is
>> decisiveness in the leadership about what *kinds* of things
>> should be in it. When it's been made clear that a given task
>> is worthy of inclusion in the standard library, there will be
>> enough incentive for contributors to put in the time and
>> effort required to meet its high standards.
>
> The intention of creating draft modules would be the inclusion
> in Phobos.
> In simplistic way, the following stages of development will be
> applied:
>
> 1. Proposal (DIP, NG discussion, DUB package showcase, local
> meet-up events etc)
> 2. Draft module creation and development
> 3 Approval for Phobos merge, i.e. "draft" -> "std"
I really can't see the difference between `std.experimental` and
this. If `std.experimental` doesn't get used for this,
`std.experimental` will end up a marginalized "experiment"
itself. I think `std.experimental` runs the huge risk of not
being recognized as what it is - i.e. a shop for building things
(from scratch if necessary, IMO). If you're not worried about the
name "Mars", why are you worried about `std.experimental`?
>> But there are so many tasks that aren't quite up to that bar,
>> either because they serve too specific a niche, or because
>> there are two or more good, but conflicting ways to implement
>> solutions, and no good way to decide between them.
>>
>> For any such task that doesn't meet those high standards, the
>> library's development is best left to the community. But there
>> is a place for the official recognition of existing libraries
>> which have reached a level of quality that can be safely
>> recommended. This is what is currently missing.
>
> To be clear. I treat current DMD and Phobos library development
> as community driven as well. The reason, the title includes
> "community driven" is that modules can't be made by independent
> developer, i.e. without community approval. As an example DUB
> packages don't fulfill this requirement.
>
>
>> This is more of a "second-party" library system, for which
>> idea I am indebted to this article:
>> http://www.jfbillingsley.com/blog/?p=206
>>
>> Suggestions for implementation?
>
> I briefly read the article and some parts are similar. However
> the difference is that Curiosity/Mars would form some kind of
> trinity with Druntime and Phobos. See also my answer to
> weaselcat's post
> (http://forum.dlang.org/post/mtqjtavxzjucixuycnlf@forum.dlang.org).
>
> Piotrek
Yes, we're basically talking about the two categories I mentioned
to begin with. You're focusing on those libraries which can be
pre-approved as worthy of phobos. The way I figure it, only
Andrei and Walter can ultimately give pre-approval for such
libraries. But I think the second kind I mentioned --
high-quality libraries which aren't suited for phobos -- also
need official, or at least prominent, recognition. It's really
important for people not to have to investigate every program
listed on code.lang.org in order to find high-quality existing
code. I would even argue that such recognition is more important
than the library you're proposing here (which already seems to
exist with `std.experimental`). Meeting the pre-approval
standards for phobos is a very high bar, and it certainly won't
be the majority of high-quality libraries.
More information about the Digitalmars-d
mailing list