[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.



More information about the Haskell-Cafe mailing list