LanguageExt.Core

LanguageExt.Core Effects Eff Eff no runtime Extensions

Contents

class EffExtensions Source #

Methods

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

Cast type to its Kind

method Eff<A> As <A> (this Eff<MinRT, A> ma) Source #

Cast type to its Kind

method Fin<A> Run <A> (this K<Eff, A> ma) Source #

Invoke the effect

Returns the result value only

method Fin<A> Run <A> (this K<Eff, A> ma, EnvIO envIO) Source #

Invoke the effect

Returns the result value only

method A RunUnsafe <A> (this K<Eff, A> ma) Source #

Invoke the effect

This is labelled 'unsafe' because it can throw an exception, whereas Run will capture any errors and return a Fin type.

method A RunUnsafe <A> (this K<Eff, A> ma, EnvIO envIO) Source #

Invoke the effect

This is labelled 'unsafe' because it can throw an exception, whereas Run will capture any errors and return a Fin type.

method IO<A> RunIO <A> (this K<Eff, A> ma) Source #

Invoke the effect to leave the inner IO monad

method Task<Fin<A>> RunAsync <A> (this K<Eff, A> ma) Source #

Invoke the effect

Returns the result value only

method Task<Fin<A>> RunAsync <A> (this K<Eff, A> ma, EnvIO envIO) Source #

Invoke the effect

Returns the result value only

method ValueTask<A> RunUnsafeAsync <A> (this K<Eff, A> ma) Source #

Invoke the effect

This is labelled 'unsafe' because it can throw an exception, whereas Run will capture any errors and return a Fin type.

method ValueTask<A> RunUnsafeAsync <A> (this K<Eff, A> ma, EnvIO envIO) Source #

Invoke the effect

This is labelled 'unsafe' because it can throw an exception, whereas Run will capture any errors and return a Fin type.

method Eff<A> Flatten <A> (this K<Eff, K<Eff, A>> mma) Source #

Monadic join operator

Collapses a nested IO monad so there is no nesting.

Parameters

type RT

Runtime

type A

Bound value

param mma

Nest IO monad to flatten

returns

Flattened IO monad

method Eff<A> Flatten <A> (this K<Eff, Eff<A>> mma) Source #

Monadic join operator

Collapses a nested IO monad so there is no nesting.

Parameters

type RT

Runtime

type A

Bound value

param mma

Nest IO monad to flatten

returns

Flattened IO monad

method Eff<D> SelectMany <A, B, C, D> ( this (K<Eff, A> First, K<Eff, B> Second) self, Func<(A First, B Second), K<Eff, C>> bind, Func<(A First, B Second), C, D> project) Source #

Monadic bind and project with paired IO monads

method Eff<D> SelectMany <A, B, C, D> ( this K<Eff, A> self, Func<A, (K<Eff, B> First, K<Eff, C> Second)> bind, Func<A, (B First, C Second), D> project) Source #

Monadic bind and project with paired IO monads

method Eff<E> SelectMany <A, B, C, D, E> ( this (K<Eff, A> First, K<Eff, B> Second, K<Eff, C> Third) self, Func<(A First, B Second, C Third), K<Eff, D>> bind, Func<(A First, B Second, C Third), D, E> project) Source #

Monadic bind and project with paired IO monads

method Eff<E> SelectMany <A, B, C, D, E> ( this K<Eff, A> self, Func<A, (K<Eff, B> First, K<Eff, C> Second, K<Eff, D> Third)> bind, Func<A, (B First, C Second, D Third), E> project) Source #

Monadic bind and project with paired IO monads

class EffExtensions Source #

Methods

method Eff<B> Map <A, B> (this Func<A, B> f, K<Eff, A> ma) Source #

Functor map operation

Unwraps the value within the functor, passes it to the map function f provided, and then takes the mapped value and wraps it back up into a new functor.

Parameters

param ma

Functor to map

param f

Mapping function

returns

Mapped functor

method Eff<B> Map <A, B> (this Func<A, B> f, Eff<A> ma) Source #

Functor map operation

Unwraps the value within the functor, passes it to the map function f provided, and then takes the mapped value and wraps it back up into a new functor.

Parameters

param ma

Functor to map

param f

Mapping function

returns

Mapped functor

method Eff<B> Action <A, B> (this Eff<A> ma, K<Eff, B> mb) Source #

Applicative action: runs the first applicative, ignores the result, and returns the second applicative

method Eff<B> Action <A, B> (this K<Eff, A> ma, K<Eff, B> mb) Source #

Applicative action: runs the first applicative, ignores the result, and returns the second applicative

method Eff<B> Apply <A, B> (this Eff<Func<A, B>> mf, K<Eff, A> ma) Source #

Applicative functor apply operation

Unwraps the value within the ma applicative-functor, passes it to the unwrapped function(s) within mf, and then takes the resulting value and wraps it back up into a new applicative-functor.

Parameters

param ma

Value(s) applicative functor

param mf

Mapping function(s)

returns

Mapped applicative functor

method Eff<B> Apply <A, B> (this K<Eff, Func<A, B>> mf, K<Eff, A> ma) Source #

Applicative functor apply operation

Unwraps the value within the ma applicative-functor, passes it to the unwrapped function(s) within mf, and then takes the resulting value and wraps it back up into a new applicative-functor.

Parameters

param ma

Value(s) applicative functor

param mf

Mapping function(s)

returns

Mapped applicative functor