aztecs-0.14.0: A modular game engine and Entity-Component-System (ECS) for Haskell.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Aztecs.ECS.Executor

Documentation

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

Constructors

ExecutorT 

Fields

Instances

Instances details
Applicative m => Applicative (ExecutorT m) Source # 
Instance details

Defined in Aztecs.ECS.Executor

Methods

pure :: a -> ExecutorT m a #

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

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

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

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

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

Defined in Aztecs.ECS.Executor

Methods

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

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

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

Defined in Aztecs.ECS.Executor

Methods

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

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

return :: a -> ExecutorT m a #

class Execute' (m :: Type -> Type) s where Source #

Methods

execute' :: s -> [m ()] Source #

Instances

Instances details
(Monad m, System m sys, Access m (SystemIn m sys), ValidAccessInput (AccessType (SystemIn m sys))) => Execute' m (HSet '[sys]) Source # 
Instance details

Defined in Aztecs.ECS.Executor

Methods

execute' :: HSet '[sys] -> [m ()] Source #

(Monad m, System m sys, Access m (SystemIn m sys), ValidAccessInput (AccessType (SystemIn m sys)), Execute' m (HSet systems)) => Execute' m (HSet (sys ': systems)) Source # 
Instance details

Defined in Aztecs.ECS.Executor

Methods

execute' :: HSet (sys ': systems) -> [m ()] Source #

Execute' m (HSet ('[] :: [Type])) Source # 
Instance details

Defined in Aztecs.ECS.Executor

Methods

execute' :: HSet ('[] :: [Type]) -> [m ()] Source #

class Execute (m :: Type -> Type) s where Source #

Methods

execute :: s -> ExecutorT m () Source #

Instances

Instances details
(Monad m, Execute' m (HSet level), Execute m (HSet restLevels)) => Execute m (HSet (HSet level ': restLevels)) Source # 
Instance details

Defined in Aztecs.ECS.Scheduler.Internal

Methods

execute :: HSet (HSet level ': restLevels) -> ExecutorT m () Source #

(Monad m, Execute' m systems, Execute m (HSet schedule)) => Execute m (HSet (systems ': schedule)) Source # 
Instance details

Defined in Aztecs.ECS.Executor

Methods

execute :: HSet (systems ': schedule) -> ExecutorT m () Source #

Applicative m => Execute m (HSet ('[] :: [Type])) Source # 
Instance details

Defined in Aztecs.ECS.Executor

Methods

execute :: HSet ('[] :: [Type]) -> ExecutorT m () Source #