On Thursday, 31 January 2013 at 17:05:50 UTC, Andrei Alexandrescu wrote:
On 1/31/13 10:38 AM, Don wrote:
The basic problem is that there are hundreds of potential numeric algorithms and data structures of equal importance to these ones. In
fact, the total number of mathematical algorithms is probably a
substantial fraction of the total algorithms in computer science!

Even a module which contained only FFT, could be quite large, once it
included all the important related transforms.

A possible solution would be to make std.numeric a knot for several others, or convert it to a package.

I'm not sure that we can solve this without addressing the high-level
question: What is the scope of Phobos?

How big will it eventually get? Twice its current size? Ten times? A
hundred times?

I think the current trend is to go for large libraries.

Both SmallPhobos and LargePhobos are reasonable, but we do have to pick one. Currently we have aspects of both approaches, but they aren't
compatible.

LargePhobos. Agreed that we need to package-ize some of the current modules.


Andrei

Another consideration is the process for a package to become "standard". Current practice is to implement a package and go through a review in this forum. That's a good thing, but I'd like to see a more interactive approach, where the community was involved sooner:

1. A package is proposed for future inclusion in the library. Presumably this is done by someone with an interest in the subject, ideally this is someone who wants to spearhead the effort and may already have a draft implementation.

2. If there's enough interest to move forward, community members could bicker about all the bikeshed stuff: structures, methods, implementations, API, etc. until there's enough agreement about what the result should look like.

3. Interested parties could collaborate on the implementation and release.

4. There would have to be time limits. Many (most?) D projects start with a bang but then fizzle out before they're complete. There would need to be (monthly?) progress reviews. If the discussion or the implementation has dwindled, a reconsideration of the project could occur. If unsuccessful, the project would be moved off the active list. If there is renewed interest or if somebody else wants to take a crack at it the previous work can be a resource, but the project should probably go back to step 1.

You all see the problem with this: the very short attention span of the D community. But we've got a good start between the DIP process and the review queue. The only thing really different would be the progress reviews, which would hopefully prevent projects falling of the end of the earth.

This is just one possibility and there are probably better ways to do this. But I think some sort of maintenance of active projects is needed.

Paul

Reply via email to