hinit-0.2.2: Generic project initialization tool
Safe HaskellNone
LanguageHaskell2010

Control.Effect.Time

Documentation

data Time (m :: Type -> Type) k where Source #

Constructors

GetZonedTime :: Time m ZonedTime 

Instances

Instances details
Has (Lift IO) sig m => Algebra (Time :+: sig) (TimeC m) Source # 
Instance details

Defined in Control.Effect.Time

Methods

alg :: forall ctx (n :: Type -> Type) a. Functor ctx => Handler ctx n (TimeC m) -> (Time :+: sig) n a -> ctx () -> TimeC m (ctx a) #

newtype TimeC m a Source #

Constructors

TimeC 

Fields

Instances

Instances details
Monad m => Monad (TimeC m) Source # 
Instance details

Defined in Control.Effect.Time

Methods

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

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

return :: a -> TimeC m a #

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

Defined in Control.Effect.Time

Methods

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

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

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

Defined in Control.Effect.Time

Methods

pure :: a -> TimeC m a #

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

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

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

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

MonadIO m => MonadIO (TimeC m) Source # 
Instance details

Defined in Control.Effect.Time

Methods

liftIO :: IO a -> TimeC m a #

Has (Lift IO) sig m => Algebra (Time :+: sig) (TimeC m) Source # 
Instance details

Defined in Control.Effect.Time

Methods

alg :: forall ctx (n :: Type -> Type) a. Functor ctx => Handler ctx n (TimeC m) -> (Time :+: sig) n a -> ctx () -> TimeC m (ctx a) #