[Haskell-cafe] Catching up on Time and Directory

Michael Snoyman michael at snoyman.com
Tue Nov 16 08:11:01 EST 2010


On Tue, Nov 16, 2010 at 3:00 PM, Antoine Latter <aslatter at gmail.com> wrote:
> On Tue, Nov 16, 2010 at 6:42 AM, Michael Snoyman <michael at snoyman.com> wrote:
>> On Tue, Nov 16, 2010 at 12:30 PM, Jon Fairbairn
>> <jon.fairbairn at cl.cam.ac.uk> wrote:
>>>
>>> I'm probably terribly out of date with this, so I wonder if
>>> anyone can save me the bother of working out what the
>>> /preferred/ libraries are for (a) determining the
>>> last-modified-time of a file or directory and (b) manipulating
>>> the resulting time datum.
>>>
>>> I can find System.Directory.getModificationTime and
>>> Data.Time.formatTime, but using them together seems unduly
>>> awkward.
>>
>> Well, if it makes you feel any better: yes, it seems that you're doing
>> it the right way, and yes the right way is awkward. Perhaps it's time
>> to deprecate old-time and get directory to use the time datatypes
>> directly? While we're at it, maybe we could deprecate old-locale as
>> well. It's always awkward starting a new project and importing an
>> old-* library immediately...
>>
>
> What is the replacement for old-locale? I've used it and not known I
> should have been using something better.

Sorry, I didn't mean that there *is* a replacement for it, I meant
that we should replace it with something that isn't old-*. It seems
that the original purpose of old-locale was to support many different
locale issues, not just time (I'm just going based on the docs).
However, since it currently does only support time, I would recommend
we just pack it up and throw it into the time package. In fact, as a
complete strawman, here's a proposal:

* Move System.Locale into the time package, bumping version number to 1.3.
* Bump old-locale to 1.1 and have it simply re-export System.Locale
from time. (Maybe we don't actually need to make that bump, 1.0.1 may
be sufficient.)
* Bump old-time to 2.0 (make it clear this is a *very* different
version) and have it re-export modules from time. (This is the part of
the proposal people should *really* beat up on.)
* Find every single package depending on old-time[1] and get it to use
time instead.

The last part especially will be difficult, but we can at least start
with the packages in the HP.

Michael

[1]


More information about the Haskell-Cafe mailing list