Okay. On the whole, I'm fine with std.datetime being one, large module. It works fine from a maintenance standpoint, and while some people have complained about the large number of unit tests getting in the way of finding stuff in the file, I find that having the unit tests right next to the functions like that to really help with maintenance.
I do have one concern however. As there's a fair bit of functionality in there, there's a lot of documentation, and I'm afraid that the documentation may be a bit overwhelming to someone trying to figure out how to use std.datetime. On the whole, everything in there is quite easy to use, but there's a lot of it. So, what I'm wondering is if it would be worthwhile to split out the interval and range stuff into a separate module. That wouldn't hugely reduce the size of the module, but it _would_ make the documentation more manageable. It also has the nice side effect that the three main date/time concepts would then be in three separate modules. The duration types were already split into core.time, because Sean needed a duration type for some stuff in druntime. The time points would stay in std.datetime. And the time intervals would then be in std.timeinterval (or whatever we wanted to call it). The documentation would therefore be more easily digestible. Also, if and when I get around to coming up with more date/time functionality, the main area that I'd likely be putting it would be in the intervals and ranges (in particular, at some point, I'd like to create functionality to handle date recurrence patterns), so the bulk of the new stuff would end up in the smaller of the two time-related modules in Phobos, thereby evening out their size a bit. Again, I don't really have a problem with std.datetime being as big as it is (though some people do), but I _am_ concerned that the documentation is going to be a bit hard to digest for newcomers. It's not complicated, but there's a lot of it. So, I'm thinking that there would be some value in create std.timeinterval for the date/time interval and range functionality, thereby reducing the size of std.datetime and making it easier for newcomers to digest. It will also make it easier to find the interval and range-related functionality if that's what you're looking for. So, what are everyone else's thoughts on this? Andrei and Walter favored std.datetime being one giant module, and I don't exactly disagree, but I do think that splitting _some_ of its functionality out would make it more digestible, and I know that there are at least a few folks who think that std.datetime is just plain too large. - Jonathan M Davis _______________________________________________ phobos mailing list [email protected] http://lists.puremagic.com/mailman/listinfo/phobos
