polysemy-time-0.7.0.1: A Polysemy effect for time
Safe HaskellNone
LanguageGHC2021

Polysemy.Time.Effect.Time

Description

Time effect, Internal

Synopsis

Documentation

data Time time date (a :: Type -> Type) b where Source #

The Time effect.

Constructors

Now :: forall time date (a :: Type -> Type). Time time date a time

Produce the current time, possibly relative to what was set with SetTime or SetDate

Today :: forall time date (a :: Type -> Type). Time time date a date

Produce the current date, possibly relative to what was set with SetTime or SetDate

Sleep :: forall u time date (a :: Type -> Type). TimeUnit u => u -> Time time date a ()

Suspend the current computation for the specified time span.

SetTime :: forall time date (a :: Type -> Type). time -> Time time date a ()

Set the current time, if the interpreter supports it.

Adjust :: forall u1 time date (a :: Type -> Type). TimeUnit u1 => u1 -> Time time date a ()

Adjust the current time relatively, if the interpreter supports it.

SetDate :: forall date time (a :: Type -> Type). date -> Time time date a ()

Set the current date, if the interpreter supports it.

now :: forall t d (r :: EffectRow). Member (Time t d) r => Sem r t Source #

Produce the current time, possibly relative to what was set with SetTime or SetDate

today :: forall t d (r :: EffectRow). Member (Time t d) r => Sem r d Source #

Produce the current date, possibly relative to what was set with SetTime or SetDate

sleep :: forall t d u (r :: EffectRow). (TimeUnit u, Member (Time t d) r) => u -> Sem r () Source #

Suspend the current computation for the specified time span.

setTime :: forall t d (r :: EffectRow). Member (Time t d) r => t -> Sem r () Source #

Set the current time, if the interpreter supports it.

adjust :: forall t d u1 u2 (r :: EffectRow). (AddTimeUnit t u1 u2, Member (Time t d) r) => u1 -> Sem r () Source #

Adjust the current time relatively, if the interpreter supports it.

setDate :: forall t d (r :: EffectRow). Member (Time t d) r => d -> Sem r () Source #

Set the current date, if the interpreter supports it.