Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- type RIO = ResourceT IO
- withRegistry :: forall a b ins out m. (Typeable a, Contains (RIO a) out, Solvable ins out, MonadIO m, MemoizedActions out) => Registry ins out -> (a -> IO b) -> m b
- runRegistryT :: forall a ins out. (Typeable a, Contains (RIO a) out, Solvable ins out, MemoizedActions out) => Registry ins out -> ResourceT IO a
Documentation
withRegistry :: forall a b ins out m. (Typeable a, Contains (RIO a) out, Solvable ins out, MonadIO m, MemoizedActions out) => Registry ins out -> (a -> IO b) -> m b Source #
This function must be used to run services involving a top component It creates the top component and invokes all warmup functions
The passed function f
is used to decide whether to continue or
not depending on the Result
We also make sure that all effects are memoized by calling memoizeAll
on the Registry here!
runRegistryT :: forall a ins out. (Typeable a, Contains (RIO a) out, Solvable ins out, MemoizedActions out) => Registry ins out -> ResourceT IO a Source #
This can be used if you want to insert the component creation inside
another action managed with ResourceT
. Or if you want to call runResourceT
yourself later