yam-0.6.0: Yam Web

Safe HaskellNone
LanguageHaskell2010

Yam.App

Documentation

newtype AppT cxt m a Source #

Constructors

AppT 

Fields

Instances
MonadTrans (AppT cxt) Source # 
Instance details

Defined in Yam.App

Methods

lift :: Monad m => m a -> AppT cxt m a #

Monad m => MonadReader (Context cxt) (AppT cxt m) Source # 
Instance details

Defined in Yam.App

Methods

ask :: AppT cxt m (Context cxt) #

local :: (Context cxt -> Context cxt) -> AppT cxt m a -> AppT cxt m a #

reader :: (Context cxt -> a) -> AppT cxt m a #

Monad m => Monad (AppT cxt m) Source # 
Instance details

Defined in Yam.App

Methods

(>>=) :: AppT cxt m a -> (a -> AppT cxt m b) -> AppT cxt m b #

(>>) :: AppT cxt m a -> AppT cxt m b -> AppT cxt m b #

return :: a -> AppT cxt m a #

fail :: String -> AppT cxt m a #

Functor m => Functor (AppT cxt m) Source # 
Instance details

Defined in Yam.App

Methods

fmap :: (a -> b) -> AppT cxt m a -> AppT cxt m b #

(<$) :: a -> AppT cxt m b -> AppT cxt m a #

Applicative m => Applicative (AppT cxt m) Source # 
Instance details

Defined in Yam.App

Methods

pure :: a -> AppT cxt m a #

(<*>) :: AppT cxt m (a -> b) -> AppT cxt m a -> AppT cxt m b #

liftA2 :: (a -> b -> c) -> AppT cxt m a -> AppT cxt m b -> AppT cxt m c #

(*>) :: AppT cxt m a -> AppT cxt m b -> AppT cxt m b #

(<*) :: AppT cxt m a -> AppT cxt m b -> AppT cxt m a #

MonadIO m => MonadIO (AppT cxt m) Source # 
Instance details

Defined in Yam.App

Methods

liftIO :: IO a -> AppT cxt m a #

(HasContextEntry cxt LogFunc, HasContextEntry cxt Vault, MonadIO m) => MonadLogger (AppT cxt m) Source # 
Instance details

Defined in Yam.Logger

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> AppT cxt m () #

(HasContextEntry cxt SourcePack, Monad m) => HasSourcePack (AppT cxt m) Source # 
Instance details

Defined in Yam.App

Methods

askSourcePack :: AppT cxt m SourcePack #

type App cxt = AppT cxt IO Source #

getEntry :: (HasContextEntry cxt entry, Monad m) => AppT cxt m entry Source #

runAppT :: Context cxt -> AppT cxt m a -> m a Source #

nt :: cxt' ~ (Vault ': cxt) => Context cxt -> Vault -> App cxt' a -> Handler a Source #