boots-0: Boot application by using plugins.

Copyright2019 Daniel YU
LicenseBSD3
Maintainerleptonyu@gmail.com
Stabilityexperimental
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Boots.Internal.App

Description

This module defines a generic application monad transformation.

Synopsis

Documentation

data AppT cxt m a Source #

Application monad transformation.

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

Defined in Boots.Internal.App

Methods

ask :: AppT cxt m cxt #

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

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

MonadTrans (AppT cxt) Source # 
Instance details

Defined in Boots.Internal.App

Methods

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

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

Defined in Boots.Internal.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 Boots.Internal.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 Boots.Internal.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 Boots.Internal.App

Methods

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

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

Defined in Boots.Internal.App

Methods

throwM :: Exception e => e -> AppT cxt m a #

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

Defined in Boots.Internal.App

Methods

catch :: Exception e => AppT cxt m a -> (e -> AppT cxt m a) -> AppT cxt m a #

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

Defined in Boots.Internal.App

Methods

mask :: ((forall a. AppT cxt m a -> AppT cxt m a) -> AppT cxt m b) -> AppT cxt m b #

uninterruptibleMask :: ((forall a. AppT cxt m a -> AppT cxt m a) -> AppT cxt m b) -> AppT cxt m b #

generalBracket :: AppT cxt m a -> (a -> ExitCase b -> AppT cxt m c) -> (a -> AppT cxt m b) -> AppT cxt m (b, c) #

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

Defined in Boots.Internal.App

Methods

askUnliftIO :: AppT cxt m (UnliftIO (AppT cxt m)) #

withRunInIO :: ((forall a. AppT cxt m a -> IO a) -> IO b) -> AppT cxt m b #

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

Run application monad transformation.