LanguageExt.Core

LanguageExt.Core MaybeTraits MonadIO

Contents

interface MonadIO <M> Source #

where M : MonadIO<M>

Monad that is either the IO monad or a transformer with the IO monad in its stack

Parameters

type M

Self-referring trait

Methods

method K<M, A> LiftIOMaybe <A> (K<IO, A> ma) Source #

Lifts the IO monad into a monad transformer stack.

Parameters

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> LiftIOMaybe <A> (IO<A> ma) Source #

Lifts the IO monad into a monad transformer stack.

IMPLEMENTATION REQUIRED: If this method isn't overloaded in this monad or any monad in the stack on the way to the inner-monad, then it will throw an exception.

This isn't ideal, it appears to be the only way to achieve this kind of functionality in C# without resorting to magic.

Parameters

type A

Bound value type

param ma

IO computation to lift

returns

The outer monad with the IO monad lifted into it

class Maybe Source #