Safe Haskell | None |
---|---|
Language | Haskell2010 |
Synopsis
- data App env st = App {
- appLogFunc :: LogFunc
- appProcessContext :: ProcessContext
- appResources :: InternalState
- appEnv :: env
- appState :: SomeRef st
- type SetupApp = App () ()
- appMain :: IO options -> (options -> Bool) -> (options -> RIO SetupApp (env, st)) -> RIO (App env st) () -> IO ()
- nestApp :: (MonadUnliftIO m, MonadReader (App env st) m) => RIO (App env st) (innerEnv, innerSt) -> RIO (App innerEnv innerSt) a -> m a
Documentation
App | |
|
Instances
HasStateRef st (App env st) Source # | |
MonadResource (RIO (App env st)) Source # | |
HasProcessContext (App env st) Source # | |
Defined in RIO.App processContextL :: Lens' (App env st) ProcessContext # | |
HasLogFunc (App env st) Source # | |
type SetupApp = App () () Source #
Bootstrap environment.
Has logging and hold permanent resources, but no env and state of its own. Used to setup initial environment and state, that can be derived from allocated resources.
appMain :: IO options -> (options -> Bool) -> (options -> RIO SetupApp (env, st)) -> RIO (App env st) () -> IO () Source #
nestApp :: (MonadUnliftIO m, MonadReader (App env st) m) => RIO (App env st) (innerEnv, innerSt) -> RIO (App innerEnv innerSt) a -> m a Source #