Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Effectful.Time
Contents
Description
Time measurement via MonadTime
.
Synopsis
- data Time :: Effect where
- CurrentTime :: Time m UTCTime
- MonotonicTime :: Time m Double
- class Monad m => MonadTime (m :: Type -> Type) where
- currentTime :: m UTCTime
- monotonicTime :: m Double
- runTime :: IOE :> es => Eff (Time ': es) a -> Eff es a
- runFrozenTime :: IOE :> es => UTCTime -> Eff (Time ': es) a -> Eff es a
Effect
data Time :: Effect where Source #
Constructors
CurrentTime :: Time m UTCTime | |
MonotonicTime :: Time m Double |
Instances
type DispatchOf Time Source # | |
Defined in Effectful.Time |
class Monad m => MonadTime (m :: Type -> Type) where #
Class of monads which make it possible to measure time.
Instances
MonadTime IO | Base instance for IO. |
Defined in Control.Monad.Time | |
Time :> es => MonadTime (Eff es) Source # | |
Defined in Effectful.Time | |
(MonadTime m, MonadTrans t, Monad (t m)) => MonadTime (t m) | Generic, overlapping instance. |
Defined in Control.Monad.Time |
Handlers
runFrozenTime :: IOE :> es => UTCTime -> Eff (Time ': es) a -> Eff es a Source #
Run a Time
effect with a frozen value of the CurrentTime
operation.
Note: the MonotonicTime
operation works the same way as in runTime
.