| Safe Haskell | Safe-Inferred |
|---|---|
| Language | Haskell2010 |
Data.Aztecs.System
Synopsis
- data Access (m :: Type -> Type) a where
- PureA :: a -> Access m a
- MapA :: (a -> b) -> Access m a -> Access m b
- AppA :: Access m (a -> b) -> Access m a -> Access m b
- BindA :: Access m a -> (a -> Access m b) -> Access m b
- AllA :: Archetype -> Query m a -> Access m [a]
- GetA :: Archetype -> Query m a -> Entity -> Access m (Maybe a)
- CommandA :: Command m () -> Access m ()
- LiftA :: m a -> Access m a
- runAccess :: Access IO a -> World -> Cache -> IO (Either (Access IO a) a, World, Cache, [Command IO ()])
- runAccess' :: Access IO a -> World -> Cache -> IO (a, World, Cache, [Command IO ()])
- all :: Monad m => Query m a -> Access m [a]
- get :: Monad m => Entity -> Query m a -> Access m (Maybe a)
- command :: Command m () -> Access m ()
- class Typeable a => System m a where
- runSystem :: forall a. System IO a => World -> IO World
- runSystem' :: forall a. System IO a => Cache -> World -> IO (Maybe (Access IO ()), Cache, [Command IO ()], World)
- newtype Cache = Cache (Map Archetype ArchetypeId)
Documentation
data Access (m :: Type -> Type) a where Source #
Constructors
| PureA :: a -> Access m a | |
| MapA :: (a -> b) -> Access m a -> Access m b | |
| AppA :: Access m (a -> b) -> Access m a -> Access m b | |
| BindA :: Access m a -> (a -> Access m b) -> Access m b | |
| AllA :: Archetype -> Query m a -> Access m [a] | |
| GetA :: Archetype -> Query m a -> Entity -> Access m (Maybe a) | |
| CommandA :: Command m () -> Access m () | |
| LiftA :: m a -> Access m a |
runAccess :: Access IO a -> World -> Cache -> IO (Either (Access IO a) a, World, Cache, [Command IO ()]) Source #
runSystem' :: forall a. System IO a => Cache -> World -> IO (Maybe (Access IO ()), Cache, [Command IO ()], World) Source #