On Tuesday, 23 June 2015 at 15:29:42 UTC, Adam D. Ruppe wrote:
On Tuesday, 23 June 2015 at 15:24:44 UTC, John Colvin wrote:
std/range/package.d and std/regex/package.d both have a bunch
of stuff in. Why not?
Those are also mistakes (well, probably just semi-migrated from
the old big module). Suppose you want some of that stuff
without the rest of the package. How do you get to it?
The biggest benefit of breaking up the big modules is so you
can access some of it without requiring all of it. But when the
part you want is in the package.d, you can't get it
independently anymore; importing that also imports everything
else, negating the reason it was split up in the first place.
But that's more an argument against putting anything _except_ the
basic definitions into package.d, no? Then you can always exclude
the more specific stuff whenever you need it, and those modules
themselves can publicly import package.d.