Archived
1
0
Fork 0

Made the Plugin monad a Reader instead of a State since it can't change.

This commit is contained in:
Julien Dessaux 2011-05-06 19:15:40 +02:00
parent 4ec66d2ad7
commit a8c0c85787
7 changed files with 15 additions and 22 deletions

View file

@ -7,8 +7,8 @@ module Hsbot.Types
, Env
, Message (..)
, Plugin
, PluginEnv (..)
, PluginId (..)
, PluginState (..)
, TLSConfig (..)
) where
@ -39,16 +39,16 @@ data BotEnv = BotEnv
type Bot = StateT BotState
data BotState = BotState
{ botPlugins :: M.Map String (PluginState, MVar PluginState, ThreadId)
{ botPlugins :: M.Map String (PluginEnv, ThreadId)
, botHooks :: [Chan Message]
, botChannels :: [String]
, botNickname :: String
}
-- The Plugin monad
type Plugin = StateT PluginState
type Plugin = ReaderT PluginEnv
data PluginState = PluginState
data PluginEnv = PluginEnv
{ pluginId :: PluginId
, pluginChan :: Chan Message
, pluginMaster :: Chan Message