Safe Haskell | None |
---|
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 calculations instead of Num
,
Fractional
& al. Check each module for usage examples, and see
http://hackage.haskell.org/package/lens or
http://hackage.haskell.org/package/vector-space for further details.
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