arrow-fx / arrow.fx.typeclasses / MonadIO
interface ~~MonadIO~~<M> : Monad<M>
Deprecated: The IO datatype and it’s related type classes will disappear in Arrow 0.13.0. All useful operations are offered directly over suspend functions by Arrow Fx Coroutines. https://arrow-kt.io/docs/fx/async/
Lift concrete IO into a polymorphic monad M. This is used to call IO from mtl style programs which don’t have a concrete type. This is in theory enough to define the entire effect hierarchy up to Concurrent however those instances might have different semantics for different types which is why it is not done here. If one wants to use Concurrent methods by only delegating to IO simply perform the task in IO and lift it. If that is not enough use the fx-mtl package for better instances of the effect hierarchy.
liftIO | abstract fun <A> IO <A>.liftIO(): Kind<M, A> |
IOMonadIO | interface ~~IOMonadIO~~ : MonadIO < ForIO >, IOMonad |
ResourceMonadIO | interface ~~ResourceMonadIO~~<F, E> : MonadIO < ResourcePartialOf <F, E>>, ResourceMonad <F, E> |
Do you like Arrow?
✖