airship-0.9.2: A Webmachine-inspired HTTP library

Safe HaskellSafe
LanguageHaskell2010

Airship.RST

Documentation

newtype RST r s e m a Source #

Constructors

RST 

Fields

Instances

MonadBase b m => MonadBase b (RST r s e m) Source # 

Methods

liftBase :: b α -> RST r s e m α #

MonadBaseControl b m => MonadBaseControl b (RST r s e m) Source # 

Associated Types

type StM (RST r s e m :: * -> *) a :: * #

Methods

liftBaseWith :: (RunInBase (RST r s e m) b -> b a) -> RST r s e m a #

restoreM :: StM (RST r s e m) a -> RST r s e m a #

Monad m => MonadReader r (RST r s e m) Source # 

Methods

ask :: RST r s e m r #

local :: (r -> r) -> RST r s e m a -> RST r s e m a #

reader :: (r -> a) -> RST r s e m a #

Monad m => MonadState s (RST r s e m) Source # 

Methods

get :: RST r s e m s #

put :: s -> RST r s e m () #

state :: (s -> (a, s)) -> RST r s e m a #

MonadTrans (RST r s e) Source # 

Methods

lift :: Monad m => m a -> RST r s e m a #

MonadTransControl (RST r s e) Source # 

Associated Types

type StT (RST r s e :: (* -> *) -> * -> *) a :: * #

Methods

liftWith :: Monad m => (Run (RST r s e) -> m a) -> RST r s e m a #

restoreT :: Monad m => m (StT (RST r s e) a) -> RST r s e m a #

Monad m => Monad (RST r s e m) Source # 

Methods

(>>=) :: RST r s e m a -> (a -> RST r s e m b) -> RST r s e m b #

(>>) :: RST r s e m a -> RST r s e m b -> RST r s e m b #

return :: a -> RST r s e m a #

fail :: String -> RST r s e m a #

Functor m => Functor (RST r s e m) Source # 

Methods

fmap :: (a -> b) -> RST r s e m a -> RST r s e m b #

(<$) :: a -> RST r s e m b -> RST r s e m a #

Monad m => Applicative (RST r s e m) Source # 

Methods

pure :: a -> RST r s e m a #

(<*>) :: RST r s e m (a -> b) -> RST r s e m a -> RST r s e m b #

(*>) :: RST r s e m a -> RST r s e m b -> RST r s e m b #

(<*) :: RST r s e m a -> RST r s e m b -> RST r s e m a #

MonadPlus m => Alternative (RST r s e m) Source # 

Methods

empty :: RST r s e m a #

(<|>) :: RST r s e m a -> RST r s e m a -> RST r s e m a #

some :: RST r s e m a -> RST r s e m [a] #

many :: RST r s e m a -> RST r s e m [a] #

MonadPlus m => MonadPlus (RST r s e m) Source # 

Methods

mzero :: RST r s e m a #

mplus :: RST r s e m a -> RST r s e m a -> RST r s e m a #

MonadIO m => MonadIO (RST r s e m) Source # 

Methods

liftIO :: IO a -> RST r s e m a #

type StT (RST r s e) a Source # 
type StT (RST r s e) a = (Either e a, s)
type StM (RST r s e m) a Source # 
type StM (RST r s e m) a = ComposeSt (RST r s e) m a

evalRST :: Monad m => RST r s e m a -> r -> s -> m (Either e a) Source #

execRST :: Monad m => RST r s e m a -> r -> s -> m s Source #

mapRST :: (m (Either e a, s) -> n (Either e b, s)) -> RST r s e m a -> RST r s e n b Source #

withRST :: Monad m => (r' -> r) -> RST r s e m a -> RST r' s e m a Source #

failure :: Monad m => e -> RST r s e m a Source #