
Ashley Yakeley wrote:
Time turns out to be complicated by nature, and it's not possible to be as simple as we'd like and still be completely correct: there's a trade-off between simplicity and correctness.
I lean towards correctness myself, I think there are ways of managing extra complexity. We might, for instance, be able to separate some of the less-used functions into another module fairly sensibly.
There's also a trade-off between simplicity and usefulness. My earlier message has one idea of where to draw the line, as well as one way of splitting the functionality: http://www.haskell.org//pipermail/libraries/2005-January/002930.html
Simon suggested naming the two modules "System.Time.Clock" and "System.Time.Calendar". These are the issues that seem to be remaining for the "Clock" module:
* Can we assume that gettimeofday always returns UTC rather than TAI time?
One question... get timeofday assumes things about the time-system. I would be happier with a 'gettime' call which returns some universal concept of time in an SI unit (which for time is seconds, so microseconds/picoseconds whatever) I am uncomfortable with introducing non SI notions of time interval like hours/minutes (even days) as these may vary... I feel conversion into 'familiar; units should be done from this universal time... Especially if anyone wants to write software for the Mars mission! Keean.