sparrow-0.0.1.2: Unified streaming dependency management for web apps

Safe HaskellNone
LanguageHaskell2010

Web.Dependencies.Sparrow.Server.Types

Contents

Synopsis

Context

data SparrowServerT http m a Source #

Instances

MonadWriter w m => MonadWriter w (SparrowServerT http m) Source # 

Methods

writer :: (a, w) -> SparrowServerT http m a #

tell :: w -> SparrowServerT http m () #

listen :: SparrowServerT http m a -> SparrowServerT http m (a, w) #

pass :: SparrowServerT http m (a, w -> w) -> SparrowServerT http m a #

MonadState s m => MonadState s (SparrowServerT http m) Source # 

Methods

get :: SparrowServerT http m s #

put :: s -> SparrowServerT http m () #

state :: (s -> (a, s)) -> SparrowServerT http m a #

MonadReader r m => MonadReader r (SparrowServerT http m) Source # 

Methods

ask :: SparrowServerT http m r #

local :: (r -> r) -> SparrowServerT http m a -> SparrowServerT http m a #

reader :: (r -> a) -> SparrowServerT http m a #

MonadTrans (SparrowServerT http) Source # 

Methods

lift :: Monad m => m a -> SparrowServerT http m a #

Monad m => Monad (SparrowServerT http m) Source # 

Methods

(>>=) :: SparrowServerT http m a -> (a -> SparrowServerT http m b) -> SparrowServerT http m b #

(>>) :: SparrowServerT http m a -> SparrowServerT http m b -> SparrowServerT http m b #

return :: a -> SparrowServerT http m a #

fail :: String -> SparrowServerT http m a #

Functor m => Functor (SparrowServerT http m) Source # 

Methods

fmap :: (a -> b) -> SparrowServerT http m a -> SparrowServerT http m b #

(<$) :: a -> SparrowServerT http m b -> SparrowServerT http m a #

Monad m => Applicative (SparrowServerT http m) Source # 

Methods

pure :: a -> SparrowServerT http m a #

(<*>) :: SparrowServerT http m (a -> b) -> SparrowServerT http m a -> SparrowServerT http m b #

liftA2 :: (a -> b -> c) -> SparrowServerT http m a -> SparrowServerT http m b -> SparrowServerT http m c #

(*>) :: SparrowServerT http m a -> SparrowServerT http m b -> SparrowServerT http m b #

(<*) :: SparrowServerT http m a -> SparrowServerT http m b -> SparrowServerT http m a #

MonadIO m => MonadIO (SparrowServerT http m) Source # 

Methods

liftIO :: IO a -> SparrowServerT http m a #

MonadThrow m => MonadThrow (SparrowServerT http m) Source # 

Methods

throwM :: Exception e => e -> SparrowServerT http m a #

MonadCatch m => MonadCatch (SparrowServerT http m) Source # 

Methods

catch :: Exception e => SparrowServerT http m a -> (e -> SparrowServerT http m a) -> SparrowServerT http m a #

MonadMask m => MonadMask (SparrowServerT http m) Source # 

Methods

mask :: ((forall a. SparrowServerT http m a -> SparrowServerT http m a) -> SparrowServerT http m b) -> SparrowServerT http m b #

uninterruptibleMask :: ((forall a. SparrowServerT http m a -> SparrowServerT http m a) -> SparrowServerT http m b) -> SparrowServerT http m b #

generalBracket :: SparrowServerT http m a -> (a -> ExitCase b -> SparrowServerT http m c) -> (a -> SparrowServerT http m b) -> SparrowServerT http m (b, c) #

data Env m Source #

Constructors

Env 

Fields

execSparrowServerT :: MonadIO m => SparrowServerT http m a -> m (Paper http, Env m) Source #

execSparrowServerT' :: Monad m => Env m -> SparrowServerT http m a -> m (Paper http) Source #

tell' :: Monad m => Paper http -> SparrowServerT http m () Source #

ask' :: Monad m => SparrowServerT http m (Env m) Source #

Internal Machinery

Outgoing Per-Session

unsafeRegisterReceive :: MonadIO m => Env m -> SessionID -> Topic -> (Value -> Maybe (m ())) -> STM () Source #

Continuation Registration

registerInvalidator :: forall deltaIn m. FromJSON deltaIn => Env m -> Topic -> Proxy deltaIn -> STM () Source #

getCallReceive :: MonadIO m => Env m -> SessionID -> Topic -> Value -> STM (Maybe (m ())) Source #

Thread Management

Bookkeeping

Exceptions