Recent work on Phobos and asking for volunteers

Andrei Alexandrescu SeeWebsiteForEmail at erdani.org
Thu Jun 17 21:30:46 PDT 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


More information about the Digitalmars-d mailing list