Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Documentation
data LocalState Source #
Instances
HeadType LocalState Source # | |
Defined in Erebos.State headTypeID :: proxy LocalState -> HeadTypeID Source # | |
Storable LocalState Source # | |
Defined in Erebos.State store' :: LocalState -> Store Source # load' :: Load LocalState Source # store :: forall (c :: Type -> Type). StorageCompleteness c => Storage' c -> LocalState -> IO (Ref' c) Source # load :: Ref -> LocalState Source # | |
MonadHead LocalState (ServiceHandler s) Source # | |
Defined in Erebos.Service updateLocalHead :: (Stored LocalState -> ServiceHandler s (Stored LocalState, b)) -> ServiceHandler s b Source # |
data SharedState Source #
Instances
class Mergeable a => SharedType a where Source #
sharedTypeID :: proxy a -> SharedTypeID Source #
Instances
data SharedTypeID Source #
Instances
mkSharedTypeID :: String -> SharedTypeID Source #
class (MonadIO m, MonadStorage m) => MonadHead a m where Source #
updateLocalHead :: (Stored a -> m (Stored a, b)) -> m b Source #
Instances
MonadHead LocalState (ServiceHandler s) Source # | |
Defined in Erebos.Service updateLocalHead :: (Stored LocalState -> ServiceHandler s (Stored LocalState, b)) -> ServiceHandler s b Source # | |
(HeadType a, MonadIO m) => MonadHead a (ReaderT (Head a) m) Source # | |
Defined in Erebos.State |
loadLocalStateHead :: MonadIO m => Storage -> m (Head LocalState) Source #
updateSharedState :: forall a b m. (SharedType a, MonadHead LocalState m) => (a -> m (a, b)) -> Stored LocalState -> m (Stored LocalState, b) Source #
updateSharedState_ :: forall a m. (SharedType a, MonadHead LocalState m) => (a -> m a) -> Stored LocalState -> m (Stored LocalState) Source #
lookupSharedValue :: forall a. SharedType a => [Stored SharedState] -> a Source #
makeSharedStateUpdate :: forall a m. MonadIO m => SharedType a => Storage -> a -> [Stored SharedState] -> m (Stored SharedState) Source #
mergeSharedIdentity :: (MonadHead LocalState m, MonadError String m) => m UnifiedIdentity Source #
updateSharedIdentity :: (MonadHead LocalState m, MonadError String m) => m () Source #
interactiveIdentityUpdate :: (Foldable f, MonadStorage m, MonadIO m, MonadError String m) => Identity f -> m UnifiedIdentity Source #