swarm-0.7.0.0: 2D resource gathering game with programmable robots
LicenseBSD-3-Clause
Safe HaskellNone
LanguageHaskell2010

Swarm.Effect.Time

Description

 
Synopsis

Documentation

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

Effect for things related to time

Constructors

GetNow :: forall (m :: Type -> Type). Time m TimeSpec 

Instances

Instances details
(MonadIO m, Algebra sig m) => Algebra (Time :+: sig) (TimeIOC m) Source # 
Instance details

Defined in Swarm.Effect.Time

Methods

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

getNow :: forall (sig :: (Type -> Type) -> Type -> Type) m. Has Time sig m => m TimeSpec Source #

newtype TimeIOC (m :: Type -> Type) a Source #

Constructors

TimeIOC 

Fields

Instances

Instances details
MonadIO m => MonadIO (TimeIOC m) Source # 
Instance details

Defined in Swarm.Effect.Time

Methods

liftIO :: IO a -> TimeIOC m a #

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

Defined in Swarm.Effect.Time

Methods

pure :: a -> TimeIOC m a #

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

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

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

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

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

Defined in Swarm.Effect.Time

Methods

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

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

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

Defined in Swarm.Effect.Time

Methods

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

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

return :: a -> TimeIOC m a #

(MonadIO m, Algebra sig m) => Algebra (Time :+: sig) (TimeIOC m) Source # 
Instance details

Defined in Swarm.Effect.Time

Methods

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