
At 13:34 11/11/03 +0000, Simon Marlow wrote:
Presumably, without TAI support, the library will be unable to do accurate calendar calculations at the second level (i.e. "add S seconds to time T"), although it will be able to do larger scale calendar calculations (i.e. adding days, months, etc.). Or maybe you provide the second-level calculations but document that they don't take into account leap seconds?
When I raised this, I was thinking of something like: [[ ... you provide the second-level calculations but document that they MAY not take into account leap seconds? ]] I found the reference posted by Peter Simons was helpful. To my mind the stability of representation is more important than stability of operations. Why? In general I feel that representations have greater need of stability. Specific values are written down, maybe find themselves embedded in code, while the results of operations are relatively transient (but this distinction may be contentious in the context of a pure functional language). I noticed this in another of Peter's references: [[ This proposal makes no recommendations for handling leap seconds. Such capabilities are implementationdefined (just as they are in ISO C99). It does, however, allow implementations to support multiple calendric systems; thus an implementation could provide variations of its supported calendric systems that both do and do not handle leap seconds. ]] -- http://david.tribble.com/text/c0xcalendar.html#solutions One other point: Haskell has a significant advantageous difference to C when it comes to time representations of dates and times, viz its Integer type. (I was persuaded by previous discussions that we should not be concerned for its efficiency.) #g ------------ Graham Klyne For email: http://www.ninebynine.org/#Contact