Safe Haskell | None |
---|---|
Language | Haskell2010 |
An interface for clocks. Since there are many ways to calculate different
ideas of time, e.g. system time, wall clock time or stream time, a type
class Clock
is provided with the basic interface for getting the current
time and comparing time stamps.
- class (Default (ClockTimeDiff c), Ord (ClockTimeDiff c), Eq (ClockTimeDiff c), Num (ClockTimeDiff c), Show (ClockTime c), Eq (ClockTime c), Show (ClockTimeDiff c), LocalOrd (ClockTimeDiff c)) => IsClock c where
- data ClockTime c
- data ClockTimeDiff c
- type MonadClock c (m :: Type -> Type) :: Constraint
- timeSince :: (IsClock c, MonadClock c m, Monad m) => ClockTime c -> m (ClockTimeDiff c)
- data UtcClock = MkUtcClock
- useUtcClock :: Proxy UtcClock
- utcClockTimeDiff :: Iso' (ClockTimeDiff UtcClock) NominalDiffTime
Documentation
class (Default (ClockTimeDiff c), Ord (ClockTimeDiff c), Eq (ClockTimeDiff c), Num (ClockTimeDiff c), Show (ClockTime c), Eq (ClockTime c), Show (ClockTimeDiff c), LocalOrd (ClockTimeDiff c)) => IsClock c where Source #
Clocks can generate reference times, and they can convert these to tickss. Tickss are mere integrals
data ClockTimeDiff c Source #
type MonadClock c (m :: Type -> Type) :: Constraint Source #
now :: MonadClock c m => m (ClockTime c) Source #
Return the current absolute time as a ClockTime
timeAsTimeDiff :: ClockTime c -> ClockTimeDiff c Source #
Convert a ClockTime
to a ClockTimeDiff
by diffTime
ing the time
with the beginning of time.
diffTime :: ClockTime c -> ClockTime c -> ClockTimeDiff c Source #
The time difference (a ClockTimeDiff
) between two ClockTime
s
timeAddTimeDiff :: ClockTime c -> ClockTimeDiff c -> ClockTime c Source #
Add the relative time to an absolute time to obtain a new absolute time.
timeSince :: (IsClock c, MonadClock c m, Monad m) => ClockTime c -> m (ClockTimeDiff c) Source #
Return the time elapsed between since the given absolute time.
A UTC System Time Clock
Generic UtcClock Source # | |
NFData UtcClock Source # | |
IsClock * UtcClock Source # | |
Eq (ClockTime * UtcClock) Source # | |
Eq (ClockTimeDiff * UtcClock) Source # | |
Num (ClockTimeDiff * UtcClock) Source # | |
Ord (ClockTimeDiff * UtcClock) Source # | |
Show (ClockTime * UtcClock) Source # | |
Show (ClockTimeDiff * UtcClock) Source # | |
Generic (ClockTime * UtcClock) Source # | |
Generic (ClockTimeDiff * UtcClock) Source # | |
Arbitrary (ClockTime * UtcClock) Source # | |
Arbitrary (ClockTimeDiff * UtcClock) Source # | |
Default (ClockTimeDiff * UtcClock) Source # | |
NFData (ClockTime * UtcClock) Source # | |
NFData (ClockTimeDiff * UtcClock) Source # | |
LocalOrd (ClockTimeDiff * UtcClock) Source # | |
type Rep UtcClock Source # | |
data ClockTime * UtcClock Source # | |
data ClockTimeDiff * UtcClock Source # | |
type MonadClock * UtcClock m Source # | |
type Rep (ClockTime * UtcClock) Source # | |
type Rep (ClockTimeDiff * UtcClock) Source # | |
utcClockTimeDiff :: Iso' (ClockTimeDiff UtcClock) NominalDiffTime Source #
An Iso
for converting a UtcClock
ClockTimeDiff
from/to a NominalDiffTime
.