LanguageExt.Core

LanguageExt.Core Monads IdentityT

Contents

record IdentityT <M, A> (K<M, A> Value) Source #

where M : Monad<M>, Choice<M>

IdentityT monad

Parameters

type A

Bound value type

Methods

method IdentityT<M, A> Pure (A value) Source #

method IdentityT<M, A> Lift (K<M, A> value) Source #

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

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

Maps the given monad

Parameters

param f

Mapping function

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

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

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

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

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

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

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

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

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

Operators

operator >> (IdentityT<M, A> lhs, IdentityT<M, A> rhs) Source #

Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in C#.

Parameters

param lhs

First action to run

param rhs

Second action to run

returns

Result of the second action

operator >> (IdentityT<M, A> lhs, K<IdentityT<M>, A> rhs) Source #

Sequentially compose two actions, discarding any value produced by the first, like sequencing operators (such as the semicolon) in C#.

Parameters

param lhs

First action to run

param rhs

Second action to run

returns

Result of the second action

operator >> (IdentityT<M, A> lhs, IdentityT<M, Unit> rhs) Source #

Sequentially compose two actions. The second action is a unit returning action, so the result of the first action is propagated.

Parameters

param lhs

First action to run

param rhs

Second action to run

returns

Result of the first action

operator >> (IdentityT<M, A> lhs, K<IdentityT<M>, Unit> rhs) Source #

Sequentially compose two actions. The second action is a unit returning action, so the result of the first action is propagated.

Parameters

param lhs

First action to run

param rhs

Second action to run

returns

Result of the first action

operator | (IdentityT<M, A> lhs, K<IdentityT<M>, A> rhs) Source #

Choice operator

operator | (K<IdentityT<M>, A> lhs, IdentityT<M, A> rhs) Source #

Choice operator

operator + (IdentityT<M, A> lhs, K<IdentityT<M>, A> rhs) Source #

Combine operator

operator + (K<IdentityT<M>, A> lhs, IdentityT<M, A> rhs) Source #

Combine operator

class IdentityTExt Source #

Methods

method IdentityT<M, A> As <M, A> (this K<IdentityT<M>, A> ma) Source #

where M : Monad<M>, Choice<M>

method K<M, A> Run <M, A> (this K<IdentityT<M>, A> ma) Source #

where M : Monad<M>, Choice<M>

class IdentityT <M> Source #

where M : Monad<M>, Choice<M>

Identity module

Methods

method K<IdentityT<M>, A> Pure <A> (A value) Source #

method IdentityT<M, B> bind <A, B> (IdentityT<M, A> ma, Func<A, IdentityT<M, B>> f) Source #

method IdentityT<M, B> map <A, B> (Func<A, B> f, IdentityT<M, A> ma) Source #

method IdentityT<M, B> apply <A, B> (IdentityT<M, Func<A, B>> mf, IdentityT<M, A> ma) Source #

method IdentityT<M, B> action <A, B> (IdentityT<M, A> ma, IdentityT<M, B> mb) Source #