On Friday, April 05, 2013 13:13:29 Chad Joan wrote: > On 04/02/2013 10:44 PM, Andrei Alexandrescu wrote: > > I think it leads to writing less repetitive unittests. > > > > If we did datetime all over again, I'd give a budget of 2000 lines for > > all functionality. I bet the solution would be better. > > > > > > Andrei > > My problem with datetime is that it is too monolithic. I really wish it > was split into about 3 different modules. This is frustrating from a > user-perspective. The docs for that thing can easily make someone's > eyes gloss over. > > If you split it up, then the LOC per module would become smaller too, as > a side-effect.
If/Once some variant of DIPs 15 or 16 is implemented, we'll be able to transparently turn modules into packages - making the package have the same name as the old module and split what was in the old module across multiple modules in the new package. Code will then work exactly as before, importing the package as it were a module but allowing you to import the modules in the package directly in new code if you want to. Then we'll be able to split up larger modules like std.algorithm or std.datetime if we want to - without breaking anyone's code. Once that's available, I have every intention of splitting up std.datetime into separate modules, but doing so before that would break code, which I don't want to do. - Jonathan M Davis