Safe Haskell | None |
---|---|
Language | Haskell98 |
Lambdabot.Module
- 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
- data ModuleID st
- newModuleID :: IO (ModuleID st)
- data ModuleInfo st = ModuleInfo {
- moduleName :: !String
- moduleID :: !(ModuleID st)
- theModule :: !(Module st)
- moduleState :: !(MVar st)
- data ModuleT st m a
- runModuleT :: ModuleT st m a -> ModuleInfo st -> m a
Documentation
The Module type class.
Constructors
Module | |
Fields
|
newModuleID :: IO (ModuleID st) Source #
data ModuleInfo st Source #
Info about a running module.
Constructors
ModuleInfo | |
Fields
|
Instances
Monad m => MonadReader (ModuleInfo st) (ModuleT st m) Source # | |
This transformer encodes the additional information a module might need to access its name or its state.
Instances
MonadBase b m => MonadBase b (ModuleT st m) Source # | |
MonadBaseControl b m => MonadBaseControl b (ModuleT st m) Source # | |
MonadTrans (ModuleT st) Source # | |
MonadTransControl (ModuleT st) Source # | |
Monad m => MonadReader (ModuleInfo st) (ModuleT st m) Source # | |
Monad m => Monad (ModuleT st m) Source # | |
Functor m => Functor (ModuleT st m) Source # | |
Applicative m => Applicative (ModuleT st m) Source # | |
MonadIO m => MonadIO (ModuleT st m) Source # | |
MonadException m => MonadException (ModuleT st m) Source # | |
MonadLogging m => MonadLogging (ModuleT st m) Source # | |
MonadConfig m => MonadConfig (ModuleT st m) Source # | |
MonadLB m => MonadLB (ModuleT st m) Source # | |
MonadLB m => MonadLBState (ModuleT st m) Source # | |
type StT (ModuleT st) a Source # | |
type LBState (ModuleT st m) Source # | |
type StM (ModuleT st m) a Source # | |
runModuleT :: ModuleT st m a -> ModuleInfo st -> m a Source #