LanguageExt.Core

LanguageExt.Core Monads Alternative Monads OptionT

Contents

Sub modules

Extensions
Operators
Prelude
Trait

record OptionT <M, A> (K<M, Option<A>> runOption) Source #

where M : Monad<M>

OptionT monad transformer, which allows for an optional result.

Parameters

type M

Given monad trait

type A

Bound value type

Fields

field OptionT<M, A> None = OptionT.lift<M, A>(Option<A>.None) Source #

Lift a pure value into the monad-transformer

Parameters

param value

Value to lift

returns

OptionT

Methods

method K<M, B> Match <B> (Func<A, B> Some, Func<B> None) Source #

Match the two states of the Option and return a B, which can be null.

Parameters

type B

Return type

param Some

Some match operation. May return null.

param None

None match operation. May return null.

returns

B, or null

method K<M, Unit> Match (Action<A> Some, Action None) Source #

Match the two states of the Option

Parameters

param Some

Some match operation

param None

None match operation

method K<M, Unit> IfSome (Action<A> f) Source #

Invokes the action if Option is in the Some state, otherwise nothing happens.

Parameters

param f

Action to invoke if Option is in the Some state

method K<M, Unit> IfSome (Func<A, Unit> f) Source #

Invokes the f function if Option is in the Some state, otherwise nothing happens.

Parameters

param f

Function to invoke if Option is in the Some state

method K<M, A> IfNone (Func<A> None) Source #

Returns the result of invoking the None() operation if the optional is in a None state, otherwise the bound Some(x) value is returned.

Will not accept a null return value from the None operation

Parameters

param None

Operation to invoke if the structure is in a None state

returns

Result of invoking the None() operation if the optional is in a None state, otherwise the bound Some(x) value is returned.

method K<M, Unit> IfNone (Action None) Source #

Invokes the action if Option is in the None state, otherwise nothing happens.

Parameters

param f

Action to invoke if Option is in the None state

method K<M, A> IfNone (A noneValue) Source #

Returns the noneValue if the optional is in a None state, otherwise the bound Some(x) value is returned.

Will not accept a null noneValue

Parameters

param noneValue

Value to return if in a None state

returns

noneValue if the optional is in a None state, otherwise the bound Some(x) value is returned

method K<M, Option<A>> Run () Source #

Runs the OptionT exposing the outer monad with an inner wrapped Option

method OptionT<M1, B> MapT <M1, B> (Func<K<M, Option<A>>, K<M1, Option<B>>> f) Source #

where M1 : Monad<M1>

Maps the bound monad

Parameters

type M1

Target monad type

type B

Target bound value type

param f

Mapping function

returns

Mapped monad

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

Maps the given monad

Parameters

param f

Mapping function

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

Maps the bound value

Parameters

type B

Target bound value type

param f

Mapping function

returns

OptionT

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

Maps the bound value

Parameters

type B

Target bound value type

param f

Mapping transducer

returns

OptionT

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

Monad bind operation

Parameters

type B

Target bound value type

param f

Mapping function

returns

OptionT

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

Monad bind operation

Parameters

type B

Target bound value type

param f

Mapping function

returns

OptionT

method OptionT<M, B> BiBind <B> (Func<A, OptionT<M, B>> Some, Func<OptionT<M, B>> None) Source #

Monad bi-bind operation

Parameters

type B

Target bound value type

param Some

Some state mapping function

param None

None state mapping function

returns

OptionT

method OptionT<M, A> BindNone (Func<OptionT<M, A>> None) Source #

Monad bi-bind operation

Parameters

type B

Target bound value type

param None

None state mapping function

returns

OptionT

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

Monad bind operation

Parameters

type B

Target bound value type

param f

Mapping function

returns

OptionT

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

Monad bind operation

Parameters

type B

Intermediate bound value type

type C

Target bound value type

param bind

Monadic bind function

param project

Projection function

returns

OptionT

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

Monad bind operation

Parameters

type B

Intermediate bound value type

type C

Target bound value type

param bind

Monadic bind function

param project

Projection function

returns

OptionT

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

Monad bind operation

Parameters

type B

Intermediate bound value type

type C

Target bound value type

param bind

Monadic bind function

param project

Projection function

returns

OptionT

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

Monad bind operation

Parameters

type B

Intermediate bound value type

type C

Target bound value type

param bind

Monadic bind function

param project

Projection function

returns

OptionT

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

Monad bind operation

Parameters

type B

Intermediate bound value type

type C

Target bound value type

param bind

Monadic bind function

param project

Projection function

returns

OptionT

method EitherT<L, M, A> ToEither <L> (L left) Source #

method EitherT<L, M, A> ToEither <L> (Func<L> left) Source #

method EitherT<L, M, A> ToEither <L> () Source #

where L : Monoid<L>

class OptionT Source #

Methods

method OptionT<M, A> Some <M, A> (A value) Source #

where M : Monad<M>

Lift a pure value into the monad-transformer

Parameters

param value

Value to lift

returns

OptionT

method OptionT<M, A> None <M, A> () Source #

where M : Monad<M>

Lift a None value into the monad-transformer

Parameters

returns

OptionT

method OptionT<M, A> lift <M, A> (Pure<A> monad) Source #

where M : Monad<M>

Lifts a given monad into the transformer

Parameters

param monad

Monad to lift

returns

OptionT

method OptionT<M, A> lift <M, A> (Option<A> monad) Source #

where M : Monad<M>

Lifts a given monad into the transformer

Parameters

param monad

Monad to lift

returns

OptionT

method OptionT<M, A> lift <M, A> (Fail<Unit> monad) Source #

where M : Monad<M>

Lifts a given monad into the transformer

Parameters

param monad

Monad to lift

returns

OptionT

method OptionT<M, A> lift <M, A> (K<M, A> monad) Source #

where M : Monad<M>

Lifts a given monad into the transformer

Parameters

param monad

Monad to lift

returns

OptionT

method OptionT<M, A> lift <M, A> (K<M, Option<A>> monad) Source #

where M : Monad<M>

Lifts a given monad into the transformer

Parameters

param monad

Monad to lift

returns

OptionT

method OptionT<M, A> liftIO <M, A> (IO<A> monad) Source #

where M : MonadIO<M>

Lifts a given monad into the transformer

Parameters

param monad

Monad to lift

returns

OptionT

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

where M : MonadIO<M>

Lifts a given monad into the transformer

Parameters

param monad

Monad to lift

returns

OptionT