ircbot-0.6.6.1: A library for writing IRC bots
Safe HaskellNone
LanguageHaskell2010

Network.IRC.Bot.BotMonad

Documentation

newtype BotPartT m a Source #

Constructors

BotPartT 

Fields

Instances

Instances details
MonadTrans BotPartT Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

lift :: Monad m => m a -> BotPartT m a #

MonadRWS r w s m => MonadRWS r w s (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

MonadWriter w m => MonadWriter w (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

writer :: (a, w) -> BotPartT m a #

tell :: w -> BotPartT m () #

listen :: BotPartT m a -> BotPartT m (a, w) #

pass :: BotPartT m (a, w -> w) -> BotPartT m a #

MonadState s m => MonadState s (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

get :: BotPartT m s #

put :: s -> BotPartT m () #

state :: (s -> (a, s)) -> BotPartT m a #

MonadReader r m => MonadReader r (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

ask :: BotPartT m r #

local :: (r -> r) -> BotPartT m a -> BotPartT m a #

reader :: (r -> a) -> BotPartT m a #

MonadError e m => MonadError e (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

throwError :: e -> BotPartT m a #

catchError :: BotPartT m a -> (e -> BotPartT m a) -> BotPartT m a #

Monad m => Monad (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

(>>=) :: BotPartT m a -> (a -> BotPartT m b) -> BotPartT m b #

(>>) :: BotPartT m a -> BotPartT m b -> BotPartT m b #

return :: a -> BotPartT m a #

Functor m => Functor (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

fmap :: (a -> b) -> BotPartT m a -> BotPartT m b #

(<$) :: a -> BotPartT m b -> BotPartT m a #

MonadFix m => MonadFix (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

mfix :: (a -> BotPartT m a) -> BotPartT m a #

Applicative m => Applicative (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

pure :: a -> BotPartT m a #

(<*>) :: BotPartT m (a -> b) -> BotPartT m a -> BotPartT m b #

liftA2 :: (a -> b -> c) -> BotPartT m a -> BotPartT m b -> BotPartT m c #

(*>) :: BotPartT m a -> BotPartT m b -> BotPartT m b #

(<*) :: BotPartT m a -> BotPartT m b -> BotPartT m a #

Alternative m => Alternative (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

empty :: BotPartT m a #

(<|>) :: BotPartT m a -> BotPartT m a -> BotPartT m a #

some :: BotPartT m a -> BotPartT m [a] #

many :: BotPartT m a -> BotPartT m [a] #

MonadPlus m => MonadPlus (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

mzero :: BotPartT m a #

mplus :: BotPartT m a -> BotPartT m a -> BotPartT m a #

MonadIO m => MonadIO (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

liftIO :: IO a -> BotPartT m a #

MonadCont m => MonadCont (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

Methods

callCC :: ((a -> BotPartT m b) -> BotPartT m a) -> BotPartT m a #

(Functor m, MonadIO m, MonadPlus m) => BotMonad (BotPartT m) Source # 
Instance details

Defined in Network.IRC.Bot.BotMonad

mapBotPartT :: (m a -> n b) -> BotPartT m a -> BotPartT n b Source #

maybeZero :: MonadPlus m => Maybe a -> m a Source #