Arbitrary abbreviations in phobos considered ridiculous
Brad Anderson
eco at gnuk.net
Tue Mar 6 19:32:25 PST 2012
On Wednesday, 7 March 2012 at 00:25:19 UTC, Jonathan M Davis
wrote:
> On Tuesday, March 06, 2012 17:00:19 Brad Anderson wrote:
>> I wasn't around for the creation of datetime but I'm curious
>> why a boost
>> datetime-like duration construction shortcut approach to
>> durations wasn't
>> used. That is, you can write weeks(1), months(6), years(10),
>> hours(17),
>> minutes(12), etc. (although there is now days(int) for some
>> reason).
>
> Because then you've got incredibly common names used as
> top-level symbols.
I understand the concern but, for what it's worth, I write
project scheduling software professionally so I spend a lot of
time working with dates and durations. I'd have no problem with
these being top level even though the chance of symbol clashing
would be much higher for me than most programmers. A standard
library's datetime module seems like it should have first dibs on
those names anyway. I think it should gobble up that real estate.
> It's also not generic at all. As it stands, you can have a
> function which does
> dur!units(value). You can't do that with weeks(1), months(6),
> etc.
>
That is a very nice feature for me as I have to work in arbitrary
base units (seconds, minutes, days, hours, etc.) extensively. I
definitely would want that genericity to remain. The aliases
Nick wrote appear to be a good addition (unless I'm overlooking a
problem with them). You keep the genericity but get brevity with
the package.
Although I still haven't really made use of it yet, it was really
relieving to find D had such an extensive datetime module. A lot
of languages and libraries try to get away with doing the bare
minimum (often just very thin and obvious wrappers over what the
OS does) so thank you for putting so much time (I can only assume
with how large the module is) and thought into designing
something powerful that befits a powerful language.
Regards,
Brad Anderson
> - Jonathan M Davis
More information about the Digitalmars-d
mailing list