thyme-0.3.2.0: A faster time library

Safe HaskellNone

Data.Thyme

Description

Thyme is a rewrite of the fine time library, with a particular focus on performance for applications that make heavy use of timestamps. For example, UTCTime is represented with μs precision as an Int64, which gives a usable range from -290419-11-07 19:59:05.224192 UTC to 294135-11-26 04:00:54.775807 UTC in the future.

Conversions are provided as Iso's from the lens package, while AdditiveGroup, VectorSpace and AffineSpace from vector-space allow for more principled operations instead of Num, Fractional & al.

Thyme uses strict and unpacked tuples throughout, e.g. YearMonthDay or WeekDate. Descriptive Int synonyms such as Year and DayOfMonth are also provided.

On platforms where Int is 64-bits wide, types with an Enum instance can be used as Keys for IntMap, preferably via the EnumMap wrapper provided by http://hackage.haskell.org/package/enummapset-th. In any case the Ord instances are much faster, if you must use Map.

Data.Thyme.Time is a drop-in compatibility module for existing code.

Documentation