- MonadIOExtensions
- ToIO <M, A> (this K<M, A> ma)
- MapIO <M, A, B> (this K<M, A> ma, Func<IO<A>, IO<B>> f)
- MapIO <M, A, B> (this Func<IO<A>, IO<B>> f, K<M, A> ma)
- MonadIO
- liftIO <M, A> (IO<A> ma)
- liftIO <M, A> (K<IO, A> ma)
- toIO <M, A> (K<M, A> ma)
- mapIO <M, A, B> (Func<IO<A>, IO<B>> f, K<M, A> ma)
- MonadIO <M>
class MonadIOExtensions Source #
Monad that is either the IO monad or a transformer with the IO monad in its stack
type | M | Self referring trait |
Monad module
method K<M, A> liftIO <M, A> (IO<A> ma) Source #
Embeds the IO
monad into the M<A>
monad. NOTE: This will fail if the monad transformer
stack doesn't have an IO
monad as its innermost monad.
method K<M, A> liftIO <M, A> (K<IO, A> ma) Source #
Embeds the IO
monad into the M<A>
monad. NOTE: This will fail if the monad transformer
stack doesn't have an IO
monad as its innermost monad.
interface MonadIO <M> Source #
Monad that is either the IO monad or a transformer with the IO monad in its stack
type | M | Self referring trait |
method K<M, A> LiftIO <A> (K<IO, A> ma) Source #
Lifts the IO monad into a monad transformer stack.
If this method isn't overloaded in the inner monad or any monad in the stack on the way to the inner monad then it will throw an exception.
This isn't ideal - however it appears to be the only way to achieve this kind of functionality in C# without resorting to magic.
type | A | Bound value type |
param | ma | IO computation to lift |
returns | The outer monad with the IO monad lifted into it |
method K<M, A> LiftIO <A> (IO<A> ma) Source #
Lifts the IO monad into a monad transformer stack.
If this method isn't overloaded in the inner monad or any monad in the stack on the way to the inner monad then it will throw an exception.
This isn't ideal - however it appears to be the only way to achieve this kind of functionality in C# without resorting to magic.
type | A | Bound value type |
param | ma | IO computation to lift |
returns | The outer monad with the IO monad lifted into it |