LanguageExt.Core

LanguageExt.Core DataTypes Pure

Contents

record Pure <A> (A Value) Source #

Represents a pure value. Usually understood to be the 'success' value.

On its own this doesn't do much, but allows other monads to convert from it and provide binding extensions that mean it can be lifted into other monads without specifying lots of extra generic arguments.

Parameters

type A

Bound value type

param Value

Bound value

Methods

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

Functor map

Parameters

type B

Result bound value type

param f

Mapping function

returns

Result of the applying the mapping function to the Pure value

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

Monadic bind

Parameters

type B

Result bound value type

param f

Bind function

returns

Result of the applying the bind function to the Pure value

method Either<L, A> Bind <L> (Func<A, Fail<L>> f) Source #

Monadic bind

Parameters

type L

Result bound value type

param f

Bind function

returns

Result of the applying the bind function to the Pure value

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

Monadic bind

Parameters

type B

Result bound value type

param f

Bind function

returns

Result of the applying the bind function to the Pure value

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

Monadic bind and project

Parameters

type B

Result of the bind operation bound value type

type C

Result of the mapping operation bound value type

param bind

Bind function

param project

Project function

returns

Result of the applying the bind and mapping function to the Pure value

method Either<L, C> SelectMany <L, C> (Func<A, Fail<L>> bind, Func<A, Unit, C> project) Source #

Monadic bind and project

Parameters

type L

Result of the bind operation bound value type

type C

Result of the mapping operation bound value type

param bind

Bind function

param project

Project function

returns

Result of the applying the bind and mapping function to the Pure value

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

Monadic bind and project

Parameters

type B

Result of the bind operation bound value type

type C

Result of the mapping operation bound value type

param bind

Bind function

param project

Project function

returns

Result of the applying the bind and mapping function to the Pure value

method Option<A> ToOption () Source #

method These<X, A> ToThese <X> () Source #

method Either<L, A> ToEither <L> () Source #

method Fin<A> ToFin () Source #

method Try<A> ToTry () Source #

method IO<A> ToIO () Source #

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

method Eff<A> ToEff () Source #

method Either<L, B> Bind <L, B> (Func<A, Either<L, B>> bind) Source #

method Fin<B> Bind <B> (Func<A, Fin<B>> bind) Source #

method Eff<RT, B> Bind <RT, B> (Func<A, Eff<RT, B>> bind) Source #

method Eff<B> Bind <B> (Func<A, Eff<B>> bind) Source #

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

where M : Monad<M>

method Reader<Env, B> Bind <Env, B> (Func<A, Reader<Env, B>> bind) Source #

method ReaderT<Env, M, B> Bind <Env, M, B> (Func<A, ReaderT<Env, M, B>> bind) Source #

where M : Monad<M>, Alternative<M>

method State<S, B> Bind <S, B> (Func<A, State<S, B>> bind) Source #

method StateT<S, M, B> Bind <S, M, B> (Func<A, StateT<S, M, B>> bind) Source #

where M : Monad<M>, Alternative<M>

method OptionT<M, B> Bind <M, B> (Func<A, OptionT<M, B>> bind) Source #

where M : Monad<M>

method Option<B> Bind <B> (Func<A, Option<B>> bind) Source #

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

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

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

method Eff<C> SelectMany <B, C> (Func<A, Eff<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 Reader<Env, C> SelectMany <Env, B, C> (Func<A, Reader<Env, B>> bind, Func<A, B, C> project) Source #

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

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

where M : Monad<M>, Alternative<M>

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

where M : Monad<M>, Alternative<M>

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

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

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

where M : Monad<M>, Alternative<M>

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

where M : Monad<M>, Alternative<M>

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

where M : Monad<M>

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

where M : Monad<M>

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

class PureExtensions Source #

Operators

operator >> (Pure<A> px, Lower _) Source #

Value extraction