Concerning Time.TimeDiff

Graham Klyne
Mon, 16 Jun 2003 14:57:54 +0100

At 11:37 16/06/03 +0100, Malcolm Wallace wrote:
>Graham Klyne <> writes:
> > I don't feel especially well-qualified, but if I can contribute in some
> > small ways...
>A small surprise to me was that the editor of RFC 3339 "Date and Time
>on the Internet: Timestamps" is one Graham Klyne, which may not be the
>same person as you, but perhaps you are more qualified for the job of
>proposing a new Time module than you admit...  :-)


Maybe I should explain a little.

My editoriship came about because I found myself repeatedly citing a 
previous version of this document, for which the "heavy lifting" had 
already been done by Chris Newman, the other editor of RFC 3339.  I 
badgered Chris a few times about moving his document to RFC status so we'd 
have a stable, persistent reference.  In the spirit of "he who asks, gets 
volunteered", Chris suggested that I take it on.

My technical contribution was to be an axe-wielder:  the original draft 
contained a lot of much-debated materials about time-zones.  But the 
immediate goal was for a simple profile of ISO 8601 suitable for conveying 
protocol timestamps, so I slashed and burned the verbiage surplus for this 

You may notice a similar flavour in my suggestions for the Haskell Time 
module:  when discussing time, it's very easy to get dragged into all kinds 
of arcane requirement, when x%, for some x just slightly less than 100, of 
applications would be well satisfied by something much simpler.

As for the reference to RFC1129, I tend to agree (though using UTC as a 
common reference is important to time synchronization on the Internet, and 
RFC3339 reflects this in that times are (usually) expected to be expressed 
in a form clearly referenced to UTC).

As for representation, I guess we need to distinguish between 
representation for human presentation, and representation for transfers 
between programs  (I've never been quite clear which purpose is meant to be 
served by Haskell Show and Read classes -- I suspect it's a bit of 
both).  I think an ISO 8601 based format is good for the latter;  the 
former maybe more usefully localized than standardized.

Finally, I may have gone quiet on this topic, but I haven't abandoned 
it.  I have some pointers to earlier Haskell mailing list discussions that 
I've yet to read through before I come barging back.  There should come a 
point when aspects of my own work, relating to scheduled network access 
controls, will bring me back into this.


Graham Klyne
PGP: 0FAA 69FF C083 000B A2E9  A131 01B9 1C7A DBCA CB5E