Splitting std.algorithm

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Tue Jan 20 17:26:41 PST 2015


On Tuesday, January 20, 2015 16:10:26 Andrei Alexandrescu via Digitalmars-d wrote:
> On 1/20/15 3:40 PM, H. S. Teoh via Digitalmars-d wrote:
> > - Andrei doesn't approve because apparently some people think "big files
> >    are not a problem".
>
> cc Jonathan M. Davis, Steve Schveighoffer if I remember correctly :o).

I honestly think that many developers are overly interested in having small
modules. Splitting stuff up too much causes maintenance problems (e.g. it
becomes that much harder to find everything when there are a lot of files to
look through, and it's that much less obvious which module something might
live in), and in my experience, large modules like std.algorithm or
std.datetime are actually quite maintainable. However, that doesn't mean
that we wouldn't be better off splitting up the particularly large ones. I
just started on splitting std.datetime again the other day, and hopefully I
can find time enough to finish it before I end up having to deal with
merging other changes in.

As for std.algorithm, I think that the fact that the unit tests take up too
much memory on some of the Phobos developers' machines is enough to merit at
least looking at splitting it up. It's an actual, objective problem rather
than a subjective one. And std.algorithm contains enough disparate functions
that it certainly wouldn't hurt us to split it up from an organizational
point of view either. So, if H. S. Teoh has managed to split it in a sane
way, it makes good sense for us to look it over and merge it if it looks
good. Certainly, letting it sit is just going to cause all kinds of grief -
especially when it's probably the most-edited file in all of Phobos.

I had thought that the consensus was already that we should split
std.algorithm at some point. The trick was spending the time to do it and
get it right.

- Jonathan M Davis



More information about the Digitalmars-d mailing list