Mars Drafting Library - Official community driven library

Zach the Mystic via Digitalmars-d digitalmars-d at puremagic.com
Mon Feb 2 13:18:59 PST 2015


On Monday, 2 February 2015 at 20:09:42 UTC, Piotrek wrote:
> On Monday, 2 February 2015 at 06:07:29 UTC, Zach the Mystic 
> wrote:
>> Therefore, I think std.experimental is for all "in flux" APIs, 
>> from the drafting stage to the later "less in flux" stages.
>
> Definitely this is what I thought initially. But, IMO, it can 
> be really hard or impossible to carry out, as you pointed one 
> of the issues in the following part:
>
>> The danger is that the phobos management will want to have 
>> their cake and eat it too, as the saying goes. You simply 
>> can't promise users both stability and a perfectly designed 
>> API at the same time, tempting as it is.
>
> Hence the *proposal* of the drafting library.
>
> Piotrek

I think std.experimental should essentially be its own library, 
with its own slot next to phobos on the github repo. I'm open to 
changing the name or something... but if we have both 
std.experimental *and* your new mars, what do you think is the 
real difference? How can std.experimental be "sort of" 
experimental, but really not, whereas mars is "really actually" 
experimental? Where is the cutoff line? How would anyone know 
whether they reached it or not?

My attitude is that any given module in std.experimental should 
simply indicate its current level stability at the top of its 
documentation - full disclosure about where it is from, say, 0 to 
95%, (with anything above that already assumed qualified for std 
proper).

I'd even make one more point, that all current phobos modules 
known to be in need of revamping be copied wholesale in their 
current forms to std.experimental, with the top documentation 
saying, "This is the experimental version of the old std.xxx, 
which needs *your* help with its redesign and implementation. 
Feel free to break the current API by improving it. This is *not* 
currently considered a stable module."


More information about the Digitalmars-d mailing list