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 $ do`liftIO`

$ putStrLn "hello from polysemy"

*Since: 0.1.1.0*