On Thursday, 5 February 2015 at 06:56:52 UTC, Dicebot wrote:
You have clearly put a lot of effort in this. That makes me very uneasy to repeat the same critique as earlier but, sadly, it still all applies. This proposal tries to fix problems it doesn't prove exist, doing so with solutions that are not guranteed to help.

No need to be sorry. D needs quality guards.

It also wrongly explains current process of inclusion into Phobos in general and specifically std.experimental - being probably one of more involved persons with Phobos review queue I feel like this needs to be explained.

Considering all the discussion that happened during std.experimental.logger I understand that we have settled with pretty much this:

1) All Phobos proposals must go through std.experimental.logger

When you say I put the current process wrongly, you mean there is no way to submit a new module avoiding a std.experimental namespace? Or something else? Can you provide a link to the latest official description? I will update the pictures.

2) It must implement something generally desired in Phobos
Which is?

3) Implementation is supposed to be at least stable enough to not undergo a full rewrite after inclusion. Major API changes are acceptable.

This point is one of the main problems the DIP tries to avoid.
According to your statement the module should be almost complete before the pull request is accepted. I mean without any design flows. In many cases that is really hard to achieve for one developer (e.g gui). OTOH if you don't see the full implementation and can't test it you may not see the fundamental flows in design. Of course this may be doable for less complex modules. Then the current way of using std.experimental alone may be applicable.

4) Before DMD/Phobos release is made existing packages that feel stable can undergo a formal review for inclusion in Phobos main package

With that in mind initial public review is supposed to only determine if (2) and (3) is true which is mostly a formality as people rarely propose modules they are not serious about.

How could you be sure that after long lonely work the proposal is worth inclusion?

As you may see requirements are very lax. Only real difference is that your poposal allows to accept modules that are not supposed to ever go to Phobos at all - which I am still convinced is a bad thing and belongs to code.dlang.org

How do you know what modules should not be in Phobos? Is there any widely accepted list? Even C++ is getting more "open minded".

Speaking about objections vs code.dlang.org

community driven development as opposed to individually driven (ownership/control of the source code)

see no reason to expect this is actually better of makes any notable difference in general
out of the box readiness

dub is planned to be distributed with DMD

wide range of community members involved in the development to reduce controversy and fragmentation staring from the initial stage

no idea where this even comes from

Maybe I'm wrong but there is a big controversy and fragmentation e.g. in database and gui domain.

Pretty much all extra goodies from DIP73 can be implemented by creating special "officially endorsed" category in code.dlang.org and showing it as a default package list at code.dlang.org front page

This may lead to competing packages. How would we decide what are the "proper" packages. There can be impossible to fully control the development by the whole community (yes I know I repeat myself).

In general, there needs to be a good analysis backing the proposal to change anything - good intention and good idea alone are not enough.

Fully agree. Of course I provided only ideas based on my personal experience and NG posts. Any hint what else I could do is welcome.

It is better to do nothing than do something unless one is extremely sure that it will help.

I guess there is always risk there. But I agree that we should be convinced about the progress beforehand.

Piotrek

Reply via email to