June 18, 2010
Hello all,


Recently there's been an unprecedented surge of great work on Phobos. The quality of submissions is excellent and it's very heartwarming to see that our motley crew team is zeroing in on a shared vision of what exemplary D code looks like. Congratulations to all participants.

On a related topic, we could use volunteers for other aspects of Phobos that could use improvement or are simply missing. Bugzilla is clearly there, and there is one component that needs some serious work: std.gregorian. It's time to put the politics of the matter behind us and simply move forward. I suggest we copy Boost's implementation. Jeff Garland, the creator, is willing to help by responding to whatever questions we might have. Here's more info from him:

=======================
In the core library custom calendars have never really been applied -- it's usage is something that I never documented well.  The primary thing it allows is the replacement of the underlying integer types.  When you get down to times this actually gets used -- there's an option to allow either 64 bit integer representation or a 96 bit integer representation (see split_time_date_system) -- effectively allowing higher resolution.  Frankly, though the 98% case seems to be a 64 bit internal rep for a combined date-time time.

Anyway, this is the area of the design that I'm least comfortable with because    it hasn't really hasn't been 'tested enough'.  I'm going to have the opportunity later this year as I need to replace a date/time system that needs leap seconds conversions -- which is the type of thing the time system customization is there to support -- basically replacing the internal calculations without having to rewrite the entire wrapper type.

On another note, you should really have a look at the Chrono work that Howard has done -- it's also based on boost date-time and is what's going into C++0x, primarily to represent the duration types in support of the threading interfaces.  It has a more flexible type promotion engine for durations than boost date-time -- on my todo list (which I never seem to really get to these days) is to upgrade the boost date-time code to use that system.  And really it's about time for me to make a pass through the entire library and eliminate all the silly stuff for vc6, gcc2.95 and their ilk....

Anyway, feel free to ask more questions -- I"m sure there will be more :-)
=======================

So, if there is anyone who'd want to tackle this project, that would be awesome.


Andrei
June 19, 2010
Hello Andrei,

> Hello all,
> 
> On a related topic, we could use volunteers for other aspects of
> Phobos that could use improvement or are simply missing. Bugzilla is
> clearly there, and there is one component that needs some serious
> work: std.gregorian. It's time to put the politics of the matter
> behind us and simply move forward. I suggest we copy Boost's
> implementation. Jeff Garland, the creator, is willing to help by
> responding to whatever questions we might have. Here's more info from
> him:
> 
> =======================
[...]
> :-) =======================
> 
> So, if there is anyone who'd want to tackle this project, that would
> be awesome.
> 

On a topic related to that; At my last job I wrote a lib in C# that attempted to do parsing of natural language date time strings (e.g. "the second Monday of next month"). It worked sorta, and I got a database of test cases from a live demo site I put up. While I was there the idea was brought up of open sourceing it. Now, my current employer has that 20% project thing and proting and fixing that is one of the things I've considered doing under that program. If all the legal stuff can be worked out, would anyone be interested in such a lib?

Even if the rest of the legal stuff falls through, I can almost certainly donate the database for someone else to work from.

> Andrei
> 
-- 
... <IXOYE><