Time to manipulate time.
A simple type useful for representing timestamps as generated by system events, along with conveniences for converting between time types from common Haskell time libraries.
Our original use was wanting to conveniently measure things happening on distributed computer systems. Since machine clock cycles are in units of nanoseconds, this has the nice property that, assuming the system clock is not corrupted, two subsequent events from the same source process are likely to have monotonically increasing timestamps. And even if the system clock has skew, they're still decently likely to be unique per device. These TimeStamps thus make good keys when building Maps.
The core type is in Chrono.TimeStamp
, see there for full documentation.