thyme-0.3.5.5: A faster time library

Safe Haskell | None
Language | Haskell2010

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 `Key`s 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

module Data.Thyme.Calendar

module Data.Thyme.Clock

module Data.Thyme.Format

module Data.Thyme.LocalTime