LanguageExt.Core

LanguageExt.Core Monads Lifting

Contents

record Lift <A> (Func<A> Function) Source #

Lifts a function into a type that can be used with other monadic types (in LINQ expressions, for example) and with implicit conversions.

Methods

method K<F, A> ToApplicative <F> () Source #

where F : Applicative<F>

method IO<A> ToIO () Source #

method Eff<A> ToEff () Source #

method Eff<RT, A> ToEff <RT> () Source #

method Lift<B> Map <B> (Func<A, B> f) Source #

method Lift<B> Bind <B> (Func<A, Lift<B>> f) Source #

method Lift<B> Bind <B> (Func<A, Pure<B>> f) Source #

method K<M, B> Bind <M, B> (Func<A, K<M, B>> f) Source #

where M : Monad<M>

method IO<B> Bind <B> (Func<A, IO<B>> f) Source #

method Lift<B> Select <B> (Func<A, B> f) Source #

method IO<C> SelectMany <B, C> (Func<A, IO<B>> bind, Func<A, B, C> project) Source #

method K<M, C> SelectMany <M, B, C> (Func<A, K<M, B>> bind, Func<A, B, C> project) Source #

where M : Monad<M>

method Lift<C> SelectMany <B, C> (Func<A, Lift<B>> bind, Func<A, B, C> project) Source #

method Lift<C> SelectMany <B, C> (Func<A, Pure<B>> bind, Func<A, B, C> project) Source #

record Lift <A, B> (Func<A, B> Function) Source #

Lifts a function into a type that can be used with other monadic types (in LINQ expressions, for example) and with implicit conversions.

Methods

method Lift<A, C> Map <C> (Func<B, C> f) Source #

method Lift<A, C> Bind <C> (Func<B, Lift<A, C>> f) Source #

method Lift<A, C> Bind <C> (Func<B, Pure<C>> f) Source #

method Lift<A, C> Select <C> (Func<B, C> f) Source #

method Lift<A, D> SelectMany <C, D> (Func<B, Pure<C>> bind, Func<B, C, D> project) Source #

class Prelude Source #

Methods

method Lift<Unit> lift (Action action) Source #

Lift an action

Parameters

param action

Function

returns

Value that can be used with monadic types in LINQ expressions

method Lift<A> lift <A> (Func<A> function) Source #

Lift a function

Parameters

param function

Function

returns

Value that can be used with monadic types in LINQ expressions

method Lift<A, B> lift <A, B> (Func<A, B> function) Source #

Lift a function

Parameters

param function

Function

returns

Value that can be used with monadic types in LINQ expressions

method IO<Unit> liftIO (Func<Task> action) Source #

Lift a asynchronous IO action

Parameters

param action

Function

returns

Value that can be used with monadic types in LINQ expressions

method IO<Unit> liftIO (Func<EnvIO, Task> action) Source #

Lift a asynchronous IO action

Parameters

param action

Action

returns

Value that can be used with monadic types in LINQ expressions

method IO<A> liftIO <A> (Func<Task<A>> function) Source #

Lift a asynchronous IO function

Parameters

param function

Function

returns

Value that can be used with monadic types in LINQ expressions

method IO<A> liftIO <A> (Func<EnvIO, Task<A>> function) Source #

Lift a asynchronous IO function

Parameters

param function

Function

returns

Value that can be used with monadic types in LINQ expressions

method OptionT<IO, A> liftIO <A> (Option<A> ma) Source #

Lift an option into a OptionT IO

method OptionT<IO, A> liftIO <A> (Task<Option<A>> ma) Source #

Lift an Option into a OptionT IO

method EitherT<L, IO, A> liftIO <L, A> (Either<L, A> ma) Source #

Lift an Either into a EitherT IO

method EitherT<L, IO, A> liftIO <L, A> (Task<Either<L, A>> ma) Source #

Lift an Either into a EitherT IO

method FinT<IO, A> liftIO <A> (Task<Fin<A>> ma) Source #

Lift an Either into a EitherT IO

method ValidationT<L, IO, A> liftIO <L, A> (Validation<L, A> ma) Source #

where L : Monoid<L>

Lift an Validation into a ValidationT IO

method ValidationT<L, IO, A> liftIO <L, A> (Task<Validation<L, A>> ma) Source #

where L : Monoid<L>

Lift an Validation into a ValidationT IO

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

where T : MonadT<T, M>
where M : Monad<M>

Lift the IO monad into a transformer-stack with an IO as its innermost monad.