anticiv-0.1.0.5: This is an IRC bot for Mafia and Resistance.

Safe HaskellNone
LanguageHaskell2010

Network.Anticiv.Monad

Synopsis

Documentation

newtype BotT m a Source

Constructors

BotT 

Fields

runBotT :: BotState -> m (a, BotState)
 

Instances

MonadTrans BotT 
Monad m => Monad (BotT m) 
Functor f => Functor (BotT f) 
(Functor f, Monad f) => Applicative (BotT f) 
ChCounter m0 => ChCounter (BotT m) 
ChAtoms m0 => ChAtoms (BotT m) 
MonadIO m => MonadIO (BotT m) 
ChPrinter m0 => ChPrinter (BotT m) 
ChScanner m0 => ChScanner (BotT m) 
ChFinalizer m0 => ChFinalizer (BotT m) 
ChClock m0 => ChClock (BotT m) 
ChRandom m0 => ChRandom (BotT m) 
Monad m => MonadBot (BotT m) 

type Anticiv a = forall m. MonadAnticiv m => m a Source

bmodify :: MonadBot m => (BotState -> BotState) -> m () Source

bgets :: MonadBot m => (BotState -> a) -> m a Source

sleep :: ChClock m => Int -> m () Source

newtype OutPlexT m a Source

Directs Log messages through the underlying MonadPrinter, and server communication through the passed handle

Constructors

OutPlex 

Fields

runOutPlex :: Handle -> [Target] -> m (a, [Target])