Safe Haskell | None |
---|---|
Language | Haskell2010 |
Interpretations
runIO :: forall m r a. (MonadIO m, Member (Lift m) r) => Sem (Lift IO ': r) a -> Sem r a Source #
If you trying to run Sem
in IO
, the function you want is runM
.
The MonadIO
class is conceptually an interpretation of IO
to some
other monad. This function reifies that intuition, by transforming an IO
effect into some other MonadIO
.
This function is especially useful when using the MonadIO
instance for
Sem
instance.
Make sure to type-apply the desired MonadIO
instance when using runIO
.
Example
foo :: PandocIO () foo =runM
.runIO
@PandocIO $ doliftIO
$ putStrLn "hello from polysemy"
Since: 0.1.1.0