registry-0.3.0.4: data structure for assembling components
Safe HaskellNone
LanguageHaskell2010

Data.Registry.RIO

Synopsis

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