Safe Haskell | None |
---|---|
Language | Haskell98 |
- data Module st = Module {
- moduleSerialize :: !(Maybe (Serial st))
- moduleDefState :: !(LB st)
- moduleSticky :: !Bool
- moduleCmds :: !(ModuleT st LB [Command (ModuleT st LB)])
- moduleInit :: !(ModuleT st LB ())
- moduleExit :: !(ModuleT st LB ())
- contextual :: !(String -> Cmd (ModuleT st LB) ())
- newModule :: Module st
- newtype ModuleT st m a = ModuleT {
- runModuleT :: ReaderT (MVar st, String) m a
- getRef :: Monad m => ModuleT st m (MVar st)
- getModuleName :: Monad m => ModuleT mod m String
- bindModule0 :: ModuleT mod LB a -> ModuleT mod LB (LB a)
- bindModule1 :: (a -> ModuleT mod LB b) -> ModuleT mod LB (a -> LB b)
- bindModule2 :: (a -> b -> ModuleT mod LB c) -> ModuleT mod LB (a -> b -> LB c)
Documentation
The Module type class.
Module | |
|
This transformer encodes the additional information a module might need to access its name or its state.
ModuleT | |
|
MonadBase b m => MonadBase b (ModuleT st m) | |
MonadBaseControl b m => MonadBaseControl b (ModuleT st m) | |
MonadTrans (ModuleT st) | |
MonadTransControl (ModuleT st) | |
Monad m => Monad (ModuleT st m) | |
Functor m => Functor (ModuleT st m) | |
Applicative m => Applicative (ModuleT st m) | |
MonadIO m => MonadIO (ModuleT st m) | |
MonadException m => MonadException (ModuleT st m) | |
MonadConfig m => MonadConfig (ModuleT st m) | |
MonadLogging m => MonadLogging (ModuleT st m) | |
MonadLB m => MonadLB (ModuleT st m) | |
MonadLB m => MonadLBState (ModuleT st m) | |
type StT (ModuleT st) a = a | |
type LBState (ModuleT st m) = st | |
type StM (ModuleT st m) a = ComposeSt (ModuleT st) m a |
getModuleName :: Monad m => ModuleT mod m String Source
bindModule0 :: ModuleT mod LB a -> ModuleT mod LB (LB a) Source
bind an action to the current module so it can be run from the plain
LB
monad.
bindModule1 :: (a -> ModuleT mod LB b) -> ModuleT mod LB (a -> LB b) Source
variant of bindModule0
for monad actions with one argument
bindModule2 :: (a -> b -> ModuleT mod LB c) -> ModuleT mod LB (a -> b -> LB c) Source
variant of bindModule0
for monad actions with two arguments