om-time-0.3.1.0: Misc. time utilites
Safe HaskellNone
LanguageHaskell2010

OM.Time

Description

Basic missing time utilities.

Synopsis

Documentation

class Monad m => MonadTimeSpec (m :: Type -> Type) where Source #

A monad that can produce the current time as a TimeSpec.

Methods

getTime :: m TimeSpec Source #

Instances

Instances details
MonadTimeSpec IO Source #

The IO instances uses getTime MonotonicCoarse.

Instance details

Defined in OM.Time

Monad m => MonadTimeSpec (NowT m) Source # 
Instance details

Defined in OM.Time

(Monad (t m), MonadTimeSpec m, MonadTrans t) => MonadTimeSpec (t m) Source # 
Instance details

Defined in OM.Time

Methods

getTime :: t m TimeSpec Source #

newtype Time Source #

Wrapper around UTCTime, used mainly to provide a Binary instance.

Constructors

Time 

Fields

Instances

Instances details
FromJSON Time Source # 
Instance details

Defined in OM.Time

FromJSONKey Time Source # 
Instance details

Defined in OM.Time

ToJSON Time Source # 
Instance details

Defined in OM.Time

ToJSONKey Time Source # 
Instance details

Defined in OM.Time

Binary Time Source # 
Instance details

Defined in OM.Time

Methods

put :: Time -> Put #

get :: Get Time #

putList :: [Time] -> Put #

Show Time Source # 
Instance details

Defined in OM.Time

Methods

showsPrec :: Int -> Time -> ShowS #

show :: Time -> String #

showList :: [Time] -> ShowS #

Eq Time Source # 
Instance details

Defined in OM.Time

Methods

(==) :: Time -> Time -> Bool #

(/=) :: Time -> Time -> Bool #

Ord Time Source # 
Instance details

Defined in OM.Time

Methods

compare :: Time -> Time -> Ordering #

(<) :: Time -> Time -> Bool #

(<=) :: Time -> Time -> Bool #

(>) :: Time -> Time -> Bool #

(>=) :: Time -> Time -> Bool #

max :: Time -> Time -> Time #

min :: Time -> Time -> Time #

timed :: MonadTimeSpec m => m a -> m (a, DiffTime) Source #

Perform an action and measure how long it takes.

diffTimeSpec :: TimeSpec -> TimeSpec -> DiffTime Source #

Take the difference of two time specs, as a DiffTime.

data NowT (m :: Type -> Type) a Source #

An instance of MonadTimeSpec where the time is always a constant value.

Instances

Instances details
MonadTrans NowT Source # 
Instance details

Defined in OM.Time

Methods

lift :: Monad m => m a -> NowT m a #

Applicative m => Applicative (NowT m) Source # 
Instance details

Defined in OM.Time

Methods

pure :: a -> NowT m a #

(<*>) :: NowT m (a -> b) -> NowT m a -> NowT m b #

liftA2 :: (a -> b -> c) -> NowT m a -> NowT m b -> NowT m c #

(*>) :: NowT m a -> NowT m b -> NowT m b #

(<*) :: NowT m a -> NowT m b -> NowT m a #

Functor m => Functor (NowT m) Source # 
Instance details

Defined in OM.Time

Methods

fmap :: (a -> b) -> NowT m a -> NowT m b #

(<$) :: a -> NowT m b -> NowT m a #

Monad m => Monad (NowT m) Source # 
Instance details

Defined in OM.Time

Methods

(>>=) :: NowT m a -> (a -> NowT m b) -> NowT m b #

(>>) :: NowT m a -> NowT m b -> NowT m b #

return :: a -> NowT m a #

Monad m => MonadTimeSpec (NowT m) Source # 
Instance details

Defined in OM.Time

runNowT :: TimeSpec -> NowT m a -> m a Source #